• RESTFul风格接口如何设计


    RESTFul风格设计规范

    1. HTTP协议请求方式要求

      REST 风格主张在项目设计、开发过程中,具体的操作符合HTTP协议定义的请求方式的语义

      操作请求方式
      查询操作GET
      保存操作POST
      删除操作DELETE
      更新操作PUT
       
    需求分析
    • 数据结构: User {id 唯一标识,name 用户名,age 用户年龄}

    • 功能分析

      • 用户数据分页展示功能(条件:page 页数 默认1,size 每页数量 默认 10)

      • 保存用户功能

      • 根据用户id查询用户详情功能

      • 根据用户id更新用户数据功能

      • 根据用户id删除用户数据功能

      • 多条件模糊查询用户功能(条件:keyword 模糊关键字,page 页数 默认1,size 每页数量 默认 10)

    1. 接口设计

      功能接口和请求方式请求参数返回值
      分页查询GET /userpage=1&size=10{ 响应数据 }
      用户添加POST /user{ user 数据 }{响应数据}
      用户详情GET /user/1路径参数{响应数据}
      用户更新PUT /user{ user 更新数据}{响应数据}
      用户删除DELETE /user/1路径参数{响应数据}
      条件模糊GET /user/searchpage=1&size=10&keywork=关键字{响应数据}
    2. 问题讨论

      为什么查询用户详情,就使用路径传递参数,多条件模糊查询,就使用请求参数传递?

      误区:restful风格下,不是所有请求参数都是路径传递!可以使用其他方式传递!

      在 RESTful API 的设计中,路径和请求参数和请求体都是用来向服务器传递信息的方式。

      • 对于查询用户详情,使用路径传递参数是因为这是一个单一资源的查询,即查询一条用户记录。使用路径参数可以明确指定所请求的资源,便于服务器定位并返回对应的资源,也符合 RESTful 风格的要求。

      • 对于多条件模糊查询,使用请求参数传递参数因为这是一个资源集合的查询,即查询多条用户记录。使用请求参数可以通过组合不同参数来限制查询结果,路径参数的组合和排列可能会很多,不如使用请求参数更加灵活和简洁。 此外,还有一些通用的原则可以遵循:

      • 路径参数应该用于指定资源的唯一标识或者 ID,而请求参数应该用于指定查询条件或者操作参数。

      • 请求参数应该限制在 10 个以内,过多的请求参数可能导致接口难以维护和使用。

      • 对于敏感信息,最好使用 POST 和请求体来传递参数。

    3. 总结

  • 相关阅读:
    angular2+ 集成系统利用服务作为模块通信中间件
    全网最全音视频媒体流
    Python-文件常用函数-读文件-写文件-定位文件
    微信小程序+echart实现点亮旅游地图
    IMU误差模型简介及VINS使用说明
    【无标题】
    MongoDB集群和安全
    PHP原生类总结利用
    华为HCIP Datacom H12-831 卷23
    探秘OpenCV中的findContours函数
  • 原文地址:https://blog.csdn.net/m0_63949203/article/details/133491917