- RESTful:
- URL格式基本一致
- 简单增删查改比较方便
- 能根据状态码(Status Code)判定请求结果如何(是否有效),不需要解析响应体(针对强类型语言开发的客户端较友好,直接分析状态码判定请求结果如何,不需要做响应体数据解析;不过加大了开发人员记忆量,如:前端需要明确各种状态码含义;另外在此场景下:新增时,no或者name重复,抛400错误,具体哪种导致400不明确;前端开发做错误提示时,有时候需要做多个case判断来区分服务器/程序本身错误,还是获取资源失败的错误,比如针对500/404,可以统一提示“接口错误”,但400/302等时需要弹出错误信息,此外测试时,404是真的找不到路径,还是找不到rest资源)
- 复杂增删查改、带校验的请求,很难明确地表示语义
- 当参数较多时,需要严格限制参数顺序,参数顺序一变,接口含义就变了
- 正因为URL基本一样,对接口请求次数、频率等做分析时不方便,不能单存地讲URL作为key,还需结合请求类型
- RESTful-like
- JSON-RPC
- GraphQL