(點選上方公眾號,可快速關註)
來源:乞力馬扎羅的雪雪,
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技能