当前位置: 首页 > 工具软件 > rustful > 使用案例 >

2020-12-29关于Rustful Api的一些前期知识。

谭高峯
2023-12-01

Rustful Api的一些相关知识

Web Api:

1、指使用Http协议并通过网络调用的Api ,需要通过URI来指定端点。2、就是一个web系统,通过URI与之进行交互。

MVC:

是一种用来构建UI的架构模式。1、松耦合。2、关注点分离。3、并不是一套完整的应用程序架构。

Controller继承于ControllerBase,多了视图支持等功能。

[ApiController]特性:

用于Controller。1、要求使用属性路由。2、自动使用Http400响应。3、推定参数的绑定源。4、Multipart/form-data请求推断。5、错误状态代码等详细信息。

Http方法:

  • Post:创建/添加资源,参数在body,URI为:/api/companies
  • Get:查询,可含查询字符串。URI为:/api/companies  || /api/companies/{companyId}
  • Delete:删除,可含查询字符串
  • put:替换或创建,参数在body,URI为 /api/companies/{companyId}
  • patch:部分修改,参数在body,URI为 /api/companies/{companyId}

Http状态码:

  • 1XX:

    • 信息性状态码,web api不使用

  • 2XX:

    • 200(OK)成功     
    • 201(Created)成功创建资源
    • 204(No Content)成功但不返回东西,比如说delete
  • 3XX:

    • 重定向,大多数web api不使用
  • 4XX:

    • 400(Bad Request)api消费者发送到服务器的请求是错误的
    • 401(Unauthorized)未授权
    • 403(Forbidden)已授权但不能访问
    • 404(Not Found)表示请求的资源找不到
    • 405(Mothed Not Allowed)使用了错误的Http方法
    • 406(Not Acceptable)请求的表述格式不被web api所支持,且api不会提供默认的表诉格式
    • 客户端错误:
      • 409(conflict)表示请求与服务器当前状态冲突,常出现在更新资源的情况下,用于处理并发问题,创建的资源在服务器上已存在也可以使用
      • 415(Unsupported Media Type)与406相反,请求携带的类型格式不被api所支持。
      • 422(Unprocessable entity)http协议的一部分,服务器懂得content type 但还是没办法处理,不能返回415所以只能返回这个
  • 5XX:

    • 500(Internal Server Error)服务器错误
  • 补充:

    • 404(Not Found):如果查询得到的数据为空,不应该表示为404,因为资源已经找到,而恰好找的资源是null而已,所以依旧应该返回200。

错误和故障:Errors vs Faults

Errors:

  • 错误通常由api消费者引起。消费者请求时传递的数据是不合理的,这时候api就会正常地将其拒绝。
  • Http 4XX错误
  • 不会对api可用性有影响

Faults:

  • 错误通常由api引起。针对一个合理的请求,api无法返回它的响应
  • Http 5XX错误
  • 对api可用性有影响

 

 类似资料: