入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

SpringMVC开发——实现第一个RESTful接口

创建时间:2017-04-04 投稿人: 浏览次数:8398
       SpringMVC最主要的一个功能就是设计接口,并提供给其他应用程序访问,如前端客户端等。RESTful接口是一种接口设计风格,也是一种设计规范,目前在项目开发中已经越来越流行。比如RESTful建议请求需要区分GET、POST、PUT等;返回的数据建议是JSON;网络协议使用https;请求url包含版本号等等。在本篇博客中,我们将会基于SpringMVC框架来设计第一个RESTful接口。本文案例代码上传至:https://github.com/chenyufeng1991/StartSpringMVC.git 。(1)首先为了项目构架,建议创建一个controller报名,把所有的controller都放入到这个路径下。这里会大量使用到Spring注解。创建一个控制器如下:
@Controllerpublic 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<Student> 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<Student> list = new ArrayList<Student>();        list.add(student);        list.add(student1);
        return list;    }}

(4)运行程序,别忘了配置Tomcat,使用Postman进行接口测试,分别对上面的三个接口请求:

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。