restful 风格地址 亲测(有代码)

Restful:
目前最流行的一种 Api 定义规范
Api 也叫做接口:请求[地址,方式,参数]

设计restful用到到的知识 
     1.@RestController   //RestBody+Cortroller     替换掉原来的Controller
                         @ResponseBody:说明返回值需要直接返回给客户端,不需要经过模板的填充,为该 controller 中的每一个类增加 @ResponseBody 注解
                         @RestController = @Contrller + @ResponseBody
    
	 
	 2.@GetMapping    查询/获取信息时		 		 
	   @PostMapping    添加信息     注: 登录注册必须用PostMapping
	   @PutMapping     修改信息  
	   @DeleteMapping   删除信息
	   
	   
	 3.@RequestParam  url 后边的参数
       @RequestBody   请求体中的 json 格式参数    post 增加 和 put 修改 ( @RequestBody User user)
       @PathVarible   url 的 path 中参数

GET  /users                   获取全部用户信息
GET  /users?page=1&size=10    获取全部用户信息中第 1 页的 10 条数据
GET  /users/1                 获取 id=1 的用户信息

POST   /users                 添加新用户

PUT    /users                 修改用户信息

DELETE /users/1               删除 id=1 的用户信息
DELETE /users/1,2,3           删除 id={1, 2, 3} 的用户信息 

GET /users/1/coupons          获取 id=1 的用户领取的全部优惠券信息
GET /users/1/coupons/2        获取 id=1 的用户领取的 id=2 的优惠券信息

POST    /users/1/coupons/3/received   id=1 的用户领取了 id=3 的优惠券
DELETE  /users/1/coupons/3/received   id=1 的用户删除了 id=3 的优惠券

GET /users 获取全部用户信息
GET /users/1 获取 id=1 的用户信息

PUT /users 更新用户信息
DELETE /users/1 删除 userId 为 1 的用户信息

	 在浏览器地址栏输入 url 永远都是 GET 请求

需要使用专业的工具对 API 进行测试:

  1. postman
  2. swagger
    注:测试用的,不需要来回查看数据库 不用也能实现.
  <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
         <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>

代码如下:


  @RestController   //RestBody+Cortroller
public class UserController {
    @Autowired
    private UserService userservice;
    @Autowired
    private HttpSession session;
    
        @GetMapping(value="/users")
        public    List<User>   list(){
            return userservice.list();
    }
//    @NeedLogin
    @GetMapping(value="/users/{id}")
        public   User  edit(@PathVariable("id") Integer id){
            return userservice.getById(id);
    }
    @PutMapping(value="/users")
    public   User  update(@RequestBody User user){
        return userservice.update(user);
    }
//    @NeedLogin
    @DeleteMapping(value="/users/{id}")
        public   void  delete(@PathVariable Integer id){
            userservice.deleteById(id);
    }
    @PostMapping(value="/login")
    public   User  login(@RequestBody User user){
        return userservice.login(user);
    }

    @PostMapping(value="/register")
    public   User  register(@RequestBody User user){

        return userservice.register(user);

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值