springboot:构建RESTful api

本篇讲解什么是RESTful以及如何设计RESTful接口,使用springboot构建RESTful Api

构建RESTful api

  • 什么是RESTful
REST 是 REpresentational State Transfer 的缩写,直译为:表现层状态转移
RESTful是一种架构风格,URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作
  • 如何设计RESTful Api

    • RESTful接口的设计主要体现在请求资源的url和请求的方式【get/post/put/delete/等】上
    • 使用URL用来标识一个互联网资源,使用http method来标识当前请求对该资源进行什么操作
    • 看Url就知道要什么,看http method就知道干什么,看http status code就知道结果如何
  • 以对用户操作为例:
    这里写图片描述

  • 实现基于RESTful风格的接口

  • 我是复制fuspringboot-learn-project项目 重命名为:springboot-learn-RESTful

    • 新建包:com.my.po
    • 在其下创建类:User
public class User {

    private String id;

    private String name;

    private int age;

    private String address;
    //省略get,set,toString等方法
}
  • 在com.my.controller目录下新建类:UserController
  • 本文重点在如何设计构建RESTful,所以只是在接口中模拟了相关的操作
@RestController
public class UserController {

    @GetMapping("/users")
    public List<User> getUsers(){

        List<User> list = new ArrayList<User>();
        list.add(new User("1", "明羽", 23, "北京巴拿马"));
        list.add(new User("2", "小挪", 23, "北京巴拿马"));
        return list;
    }

    @GetMapping("/users/{id}")
    public String getUserById(@PathVariable String id){

        return "模拟获取用户通过id:"+id;
    }

    @PostMapping("/users")
    public String addUsers(User user){

        return "模拟添加:"+user.toString();
    }

    @PutMapping("/users")
    public String updateUserById(User user){

        return "模拟更新:"+user.toString();
    }

    @DeleteMapping("/users/{id}")
    public String deleteUserById(@PathVariable String id){

        return "模拟删除 :"+id;
    }
}

@PathVariable 绑定url请求参数到方法参数上

  • 依次测试上述接口:

    获取所有用户【get,/users】
    这里写图片描述
    通过id获取单个用户【get,/users/{id}】
    这里写图片描述
    新添用户【post,/users】
    这里写图片描述
    修改用户【put,/users】
    这里写图片描述
    删除用户【delete,/users/{id}】
    这里写图片描述

到这相信你可能已经初步了解了什么是RESTful Api以及如何构建RESTful Api


码云 :https://gitee.com/cmy1996/springboot
github :https://github.com/mingyuHub/springboot

猜你喜欢

转载自blog.csdn.net/qq_35783095/article/details/79164273