restful风格接口

普通接口

    @RequestMapping(value = "deleteUser")
    public String deleteUserNoRest(){
        return "delete user";
    }

上面是我们一般的接口写法,如果接口很多,会造成命名困扰。比如增删改查就要分别命名getUser,deleteUser,saveUser,updateUser。

restful接口

1.网络上的所有事物都被抽象为资源
2.每个资源都有一个唯一的资源标识符
3.同一个资源具有多种表现形式(xml,json等)
4.对资源的各种操作不会改变资源标识符
5.所有的操作都是无状态的
直接看代码:

    @RequestMapping(value = "user",method = RequestMethod.DELETE)
    public String deleteUser(){
        return "delete user";
    }

可以看到,我接口的名字是user,但是请求方式变成了delete。
我们再写一个接口:

    @RequestMapping(value = "user",method = RequestMethod.PUT)
    public String putUser(){
        return "put";
    }

可以看到,这两个接口的名字都是user,但是接口返回的数据却不一样。
我们起动项目试试:
使用delete为请求方式时:
restful风格接口
使用put为请求方式时:
restful风格接口
可以看出虽然url一样,但是请求方式不同,最后结果不一样,说明请求方式不同,他就会调用不同接口。
总结一下就是这样:
在Restful之前的操作:
http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据
http://127.0.0.1/user/save POST 新增用户
http://127.0.0.1/user/update POST 修改用户信息
http://127.0.0.1/user/delete/1 GET/POST 删除用户信息

RESTful用法:
http://127.0.0.1/user/1 GET 根据用户id查询用户数据
http://127.0.0.1/user POST 新增用户
http://127.0.0.1/user PUT 修改用户信息
http://127.0.0.1/user DELETE 删除用户信息

上一篇:Vertx 创建HTTP服务


下一篇:【LOJ6029】「雅礼集训 2017 Day1」市场(线段树裸题)