编写restful api

功能

编写对用户增删改查的操作,返回数据格式是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值