歡迎光臨
每天分享高質量文章

SpringMVC 開發 — 實現第一個 RESTful 介面

(點選上方公眾號,可快速關註)


來源:乞力馬扎羅的雪雪,

blog.csdn.net/chenyufeng1991/article/details/69055677

SpringMVC最主要的一個功能就是設計介面,並提供給其他應用程式訪問,如前端客戶端等。RESTful介面是一種介面設計風格,也是一種設計規範,目前在專案開發中已經越來越流行。比如RESTful建議請求需要區分GET、POST、PUT等;傳回的資料建議是JSON;網路協議使用https;請求url包含版本號等等。在本篇部落格中,我們將會基於SpringMVC框架來設計第一個RESTful介面。本文案例程式碼上傳至:https://github.com/chenyufeng1991/StartSpringMVC.git 。

(1)首先為了專案構架,建議建立一個controller報名,把所有的controller都放入到這個路徑下。這裡會大量使用到Spring註解。建立一個控制器如下:

@Controller

public class BasketballController {

 

}

使用@Controller表示這是一個Spring中的控制器。

(2)建立一個Student類,需要建立setter、getter方法:

public class Student {

 

    String name;

    String age;

 

    public Student(String name, String age) {

        this.name = name;

        this.age = age;

    }

 

    public String getName() {

        return name;

    }

 

    public void setName(String name) {

        this.name = name;

    }

 

    public String getAge() {

        return age;

    }

 

    public void setAge(String age) {

        this.age = age;

    }

}

(3)在Controller中編寫介面,這裡供設計了三個介面,分別傳回字串,JSON物件,JSON陣列:

@Controller

@RequestMapping(“basketball”) //請求的路徑

public class BasketballController {

 

    /**

    * 直接傳回字串

    * @param teamname

    * @param request

    * @return

    */

    //請求的路徑,方式

    @RequestMapping(value = “v1.0/new/{teamname}”, method = RequestMethod.GET)

    @ResponseBody public String foo4(@PathVariable String teamname, HttpServletRequest request) {

 

        //可以使用teamname獲取url路徑分隔

 

        //獲取請求的引數

        String name = request.getParameter(“name”);

        String age = request.getParameter(“age”);

 

        Student student = new Student(name, age);

 

        return “123456”;

    }

 

    /**

    * 直接傳回物件,自動轉化為JSON格式

    * @param teamname

    * @param request

    * @return

    */

    @RequestMapping(value = “v2.0/new/{teamname}”, method = RequestMethod.GET)

    @ResponseBody public Student foo5(@PathVariable String teamname, HttpServletRequest request) {

 

        //可以使用teamname獲取url路徑分隔

 

        //獲取請求的引數

        String name = request.getParameter(“name”);

        String age = request.getParameter(“age”);

 

        Student student = new Student(name, age);

 

        return student;

    }

 

    /**

    * 直接傳回List,自動轉化為JSON格式

    * @param teamname

    * @param request

    * @return

    */

    @RequestMapping(value = “v3.0/new/{teamname}”, method = RequestMethod.GET)

    @ResponseBody public List foo6(@PathVariable String teamname, HttpServletRequest request) {

 

        //可以使用teamname獲取url路徑分隔

 

        //獲取請求的引數

        String name = request.getParameter(“name”);

        String age = request.getParameter(“age”);

 

        Student student = new Student(name, age);

        Student student1 = new Student(name + name, age + age);

 

        List list = new ArrayList();

        list.add(student);

        list.add(student1);

 

        return list;

    }

}

(4)執行程式,別忘了配置Tomcat,使用Postman進行介面測試,分別對上面的三個介面請求:

經過測試,請求結果符合預期,我們已經完成了介面的編寫、部署和測試。其他複雜的業務邏輯都可以在上面的基礎上進行開發。感興趣的同學可以更深入的去瞭解RESTful,編寫出更加良好的介面。

看完本文有收穫?請轉發分享給更多人

關註「ImportNew」,提升Java技能

贊(0)

分享創造快樂