spring boot - 一图教你什么是restful规范

157 阅读1分钟

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

在这里插入图片描述

restful

三个主要名词

资源

  • URI

表现层

  • Json
  • XML

状态转换

  • GET (query)
  • POST (create)
  • PUT (update)
  • DELETE (delete)

特点

URI传输

  • 资源路径
  • 参数(5个以内,5个以外使用json)

根据动作操作

  • GET (query)
  • POST (create)
  • PUT (update)
  • DELETE (delete)

接口实例

规范

  • 获取用户

    • GET /user/{id}
  • 获取多个用户

    • GET /users/{name}
  • 创建用户

    • POST /user/{id}/{name}/{mobile}/{addr}
  • 修改用户

    • PUT /user/{id}/{name}/{addr}
  • 删除用户

    • DELETE /user/{id}

误区

  • URI中加版本号

    • GET /v1/user/{id}
  • URI中加动词

    • GET /user/get/{id}
  • 使用?传参

    • GET /user?id={id}&name={name}

注解

动作

  • @GetMapping (query)
  • @PostMapping (create)
  • @PutMapping (update)
  • @DeleteMapping (delete)

传参

  • @PathVariable (接收url传参)
  • @RestController (全局返回对象)
  • @RequestBody (接收对象)
  • @ResponseBody (返回对象)

实体规范

PO(Persistent Object)

  • 持久化实体

VO(View Object)

  • 展示实体

响应

数据渲染

  • 对象

    • MappingJackson2HttpMessageConverter
  • 视图

    • ModelAndView