编写restful api

来源:互联网 发布:算法 塞奇威克 pdf 编辑:程序博客网 时间:2024/06/05 01:53

    • 功能
    • 技术与IDE
    • 代码参考github
    • 重点讲解
    • RESTful API具体设计如下
    • 代码片段
    • postman中访问url效果
    • Junit测试类

功能

编写对用户增删改查的操作,返回数据格式是json。用的是restful风格。例如:

{
“id”: 1,
“name”: “jolie”,
“age”: 27
}

技术与IDE

spring boot
IntelliJ IDEA
postman
maven
junit

代码参考github:

restful-api

重点讲解:

如何传参

  1. 前台如何传参到后台
  2. 后台如何接收前台的数据

RESTful API具体设计如下:

请求类型        URL              功能说明 GET          /users            查询用户列表 POST         /users            创建一个用户 GET          /users/id         根据id查询一个用户 PUT          /users/id         根据id更新一个用户 DELETE       /users/id         根据id删除一个用户

代码片段

UserService.java

@RestController@RequestMapping(value = "/user")public class UserService {    @Autowired    private UserReponsitory userReponsitory;    /**     * get all users     *     * @return     */    @RequestMapping(value = "/users", method = RequestMethod.GET)    public List<User> getUsers() {        List<User> users = userReponsitory.getUsers();        return users;    }    /**     * get user     */    @RequestMapping(value = "/{id}", method = RequestMethod.GET)    public User getUser(@PathVariable int id) {        User user = userReponsitory.getUser(id);        return user;    }    /**     * delete user     */    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)    public String deleteUser(@PathVariable int id) {        String returnMessage = userReponsitory.deleteUser(id);        return returnMessage;    }    /**     * put user     * 测试需要,注释这段代码,用下面的固定代码代替     *///    @RequestMapping(value = "/{id}", method = RequestMethod.PUT)//    public String putUser(@PathVariable int id, User user) {//        String returnMessage = userReponsitory.putUser(id,user);//        return returnMessage;//    }    @RequestMapping(value = "/{id}", method = RequestMethod.PUT)    public String putUser(@PathVariable int id) {        User user = new User(id,"test",00);        String returnMessage = userReponsitory.putUser(id,user);        return returnMessage;    }    /**     * post user     * *测试需要,注释这段代码,用下面的固定代码代替     *///    @RequestMapping(value = "", method = RequestMethod.POST)//    public String postUser(User user) {//        String returnMessage = userReponsitory.postUser(user);//        return returnMessage;//    }    @RequestMapping(value = "", method = RequestMethod.POST)    public String postUser() {        User user = new User(1,"jolie",27);        String returnMessage = userReponsitory.postUser(user);        return returnMessage;    }}

postman中访问url效果:

postUser()方法添加用户到数据库

这里写图片描述

getUser()方法获取id为1的用户,验证是否添加到了数据库

这里写图片描述

getUsers()方法获取数据库中所有用户
这里写图片描述

putUser()方法修改id为1的用户

这里写图片描述

getUser()方法获取id为1的用户,验证是否修改成功

这里写图片描述

deleteUser()方法删除id为1的用户
这里写图片描述

Junit测试类

详情请见代码参考github

原创粉丝点击