首页
学习
活动
专区
圈层
工具
发布

快速学习-RESTFul设计风格

id=100 2)HTTP动词(请求方式) 对于资源, 一般有4个操作, CURD(增/删/改/查) GET: 从服务器获取资源(一项或多项) POST: 在服务器新建一个资源 PUT: 在服务器更新资源...Failed)- 前置条件失败(如执行条件更新时的冲突) 415 (unsupported media type)- 接受到的表示不受支持 500 (internal server error)-...)- 资源不存在 406 (not acceptable)- 服务端不支持所需表示 409 (conflict)- 通用冲突 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突...通常以Json格式返回: { “error”: “错误信息”, } 6)返回结果 针对不同的操作, 服务需要返回的结果应该符合这样的规范 GET /collections – 返回资源列表(数组) GET...RESTFul 是目前最流行的 API 设计规范,用于 Web 数据接口的设计。

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    RESTful架构详解 转

    下面我们结合REST原则,围绕资源展开讨论,从资源的定义、获取、表述、关联、状态变迁等角度,列举一些关键概念并加以解释。...409 (conflict)- 通用冲突 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突) 415 (unsupported media type)- 接受到的表示不受支持...409 (conflict)- 通用冲突 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突) 415 (unsupported media type)- 接受到的表示不受支持...上面的例子展示了如何使用超媒体来增强资源的连通性。很多人在设计RESTful架构时,使用很多时间来寻找漂亮的URI,而忽略了超媒体。...服务端通过超 媒体告诉客户端当前状态有哪些后续状态可以进入。 这些类似“下一页”之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态。 3.

    1.4K31

    RESTful 架构详解

    下面我们结合REST原则,围绕资源展开讨论,从资源的定义、获取、表述、关联、状态变迁等角度,列举一些关键概念并加以解释。...409 (conflict)- 通用冲突 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突) 415 (unsupported media type)- 接受到的表示不受支持...409 (conflict)- 通用冲突 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突) 415 (unsupported media type)- 接受到的表示不受支持...上面的例子展示了如何使用超媒体来增强资源的连通性。很多人在设计RESTful架构时,使用很多时间来寻找漂亮的URI,而忽略了超媒体。...服务端通过超媒体告诉客户端当前状态有哪些后续状态可以进入。 这些类似"下一页"之类的链接起的就是这种推进状态的作用——指引你如何从当前状态进入下一个可能的状态。 3.

    1.4K20

    【Http】一文备忘Http状态码(406,415,422)

    最近在调试接口时,web api 报了一个415状态码。好久没见到这个状态码,一时还真不知道啥情况。所以,人的大脑是有遗忘规律的,为了加深印象,所以我觉得我有必要再复习一下。...例如请求的媒体类型是application/xml,但是Web API仅支持application/json类型,并且API不会将application/json作为默认格式提供; 409:Conflict...415:Unsupported media type,与406正好相反,有一些请求必须带着数据发往服务器,这些数据都属于特定的媒体类型,如果API不支持该媒体类型格式,415就会被返回。...[FromBody]*接收,服务端api是不会接收数据,便会返回415 Unsupported Media Type-不支持的媒体类型。...服务器已经懂得了实体的Content Type的媒体类型,也就是说415状态码肯定不合适; 此外,实体的语法也没有问题,所以400也不合适。 但是服务器仍然无法处理这个实体数据,这时就可以返回422。

    3.2K10

    Django(49)drf解析模块源码分析

    = api_settings.DEFAULT_PARSER_CLASSES 我们会发现解析器列表,是从api_settings中的DEFAULT_PARSER_CLASSES查找的,而api_settings...又等于APISettings中的DEFAULTS,我们可以从settings中的DEFAUITS列表的DEFAULT_PARSER_CLASSES,如下: DEFAULTS = { # Base...], } 我们可以看到,drf默认的解析器列表中有3个解析器,这3个解析器中都有media_type属性,代表支持解析的数据提交类型 JSONParser:media_type = 'application...接着我们使用application/x-www-form-urlencoded提交数据,会有如下报错 { "detail": "不支持请求中的媒体类型 “application/x-www-form-urlencoded...} 然后我们使用multipart/form-data提交数据,也会报错 { "detail": "不支持请求中的媒体类型 “multipart/form-data; boundary=----

    64810

    如何设计好的RESTful API

    ,但是不能快速从接口 URL 的定义中明确该接口的含义,需要进一步读代码确认 URL中的英文单词使用五花八门,搜索某个接口不知道具体的关键字 请求方法动词如 POST GET 随意使用 完成当前业务接口对接...例如, 动物,学校和员工是资源; 删除,添加,更新是对这些资源执行的相关操作 集合 集合是资源集合,例如,公司是公司资源的集合 URL URL(统一资源定位符)是可以通过其定位资源的路径,并且可以对其执行某些操作...403Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限 404NotFound:所请求的资源不存在,或不可用 415UnsupportedMediaType:客户端要求的返回格式不支持...API 文档 Swagger是一种广泛使用的工具来用来记录与呈现 REST API,它提供了一种探索特定 API 使用的方法,因此允许开发人员理解底层的语义行为。...这种方法叫做 HATEOAS , 举个例子,列表页数据通常会有查看操作,这样我们在返回列表页的数据的时候同样返回如何操作查看具体数据详情的 API 接口: { "status": "-1",

    2.2K20

    【全栈修炼】422- RESTful 架构及实践 修炼宝典

    REST 基本架构的四个方法: GET- 用于获取数据 PUT- 用于更新或添加数据 DELETE- 用于删除数据 POST- 用于添加数据 下面会通过一个场景介绍。 3....二、实例介绍 REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义: 获取所有 users GET /api/users 获取指定 id 的 users GET...获取用户列表 这一步我们会创建 RESTful API 中的/users,使用 GET 来读取用户的信息列表: // index.js const express = require('express'...如GET /users来读取所有用户列表。 1.4 避免多级 URL 避免在多层级资源时,使用多级 URL。...415 Unsupported Media Type:客户端要求的返回格式不支持。比如,API 只能返回 JSON 格式,但是客户端要求返回 XML 格式。

    1.6K30

    HTTP状态代码(各种错误代码集合)

    402Payment Required预留,通常用于支付相关的访问限制。403Forbidden服务器理解请求,但拒绝执行(权限不足)。404Not Found请求的资源不存在。...405Method Not Allowed请求方法(GET、POST等)不被允许。406Not Acceptable无法提供符合请求头 Accept 要求的响应。...415Unsupported Media Type不支持的媒体类型。416Range Not Satisfiable请求的范围无效(比如文件分片下载时范围错误)。...421Misdirected Request请求被发送到错误的服务器。422Unprocessable Entity请求格式正确,但语义错误(常见于 WebDAV 或 API 校验失败)。...服务器错误(5xx)5xx 表示服务器处理请求时出现问题。状态码英文描述中文解释500Internal Server Error服务器内部错误。

    1.2K10

    赏心悦目的RESTful API这样来设计!

    ,但是不能快速从接口 URL 的定义中明确该接口的含义,需要进一步读代码确认 URL中的英文单词使用五花八门,搜索某个接口不知道具体的关键字 请求方法动词如 POST GET 随意使用 完成当前业务接口对接...例如, 动物,学校和员工是资源; 删除,添加,更新是对这些资源执行的相关操作 集合 集合是资源集合,例如,公司是公司资源的集合 URL URL(统一资源定位符)是可以通过其定位资源的路径,并且可以对其执行某些操作...403Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限 404NotFound:所请求的资源不存在,或不可用 415UnsupportedMediaType:客户端要求的返回格式不支持...API 文档 Swagger是一种广泛使用的工具来用来记录与呈现 REST API,它提供了一种探索特定 API 使用的方法,因此允许开发人员理解底层的语义行为。...这种方法叫做 HATEOAS , 举个例子,列表页数据通常会有查看操作,这样我们在返回列表页的数据的时候同样返回如何操作查看具体数据详情的 API 接口: { "status": "-1", "result

    1.9K10

    使用ASP.NET Core 3.x 构建 RESTful API - 3.3 状态码、错误故障、ProblemDetails

    HTTP状态码一共分为5个级别: 1xx,属于信息性的状态码。Web API并不使用1xx的状态码。 2xx,意味着请求执行的很成功。...例如请求的媒体类型是application/xml,但是Web API仅支持application/json类型,并且API不会将application/json作为默认格式提供; 409 -...415 - Unsupported media type,与406正好相反,有一些请求必须带着数据发往服务器,这些数据都属于特定的媒体类型,如果API不支持该媒体类型格式,415就会被返回。...错误和故障 系统时不时的会出现一些问题,这些问题可以划分为两类:错误和故障。 错误 Errors 错误通常是由API的消费者引起的。...API消费者请求时传递的数据是不合理的,这时API就会正常的将其拒绝。例如,请求的凭证是不合理的,或者请求的参数不合理等等。 这些就是HTTP 4xx错误。

    2K20

    RESTful API 主流API风格

    RESTful 入门 一、什么是Restful REST 是 Representational State Transfer 的缩写,如果一个架构符合 REST 原则,就称它为 RESTful 架构 RESTful...上述四个HTTP请求方法的安全性和幂等性如下: HTTP Method 安全性 幂等性 解释 GET 安全 幂等 读操作安全,查询一次多次结果一致 POST 非安全 非幂等 写操作非安全,每多插入一次都会出现新结果...415 Unsupported Media Type:客户端要求的返回格式不支持。比如,API 只能返回 JSON 格式,但是客户端要求返回 XML 格式。...5xx 状态码 5xx状态码表示服务端错误。一般来说,API 不会向用户透露服务器的详细信息,所以只要两个状态码就够了。...GET /collection:返回资源对象的列表(数组) GET /collection/resource:返回单个资源对象 POST /collection:返回新生成的资源对象

    3.6K11

    RESTful架构API风格与相关规范 极客开发者

    三、RESTful API架构规范 REST并没有明确的设计标准,可以说RESTful是一种设计风格的规范化。...常用的五个HTTP动词已经对应操作如下: * GET(Retrieve):从服务器取出资源(一项或多项); * POST(CREATE):在服务器新建一个资源; * PUT(UPDATE):在服务器更新资源...unsupported media type - 不支持的媒体类型 如服务器需要客户端使用JSON数据请求,而客户端使用XML进行请求 429 Too Many Requests - 请求次数超过限额...500 internal server error - 服务器通用错误 如果客户端请求有效,服务器处理时发生了意外 503 Service Unavailable - 服务端当前无法处理请求 如网站正在维护...:如果发生错误,应当使用error作为错误信息的键名返回给客户端 { "error":"Unauthorized", "code":401 } 8.Hypermedia API RESTful API

    64310

    【全栈修炼】RESTful架构及实践修炼宝典

    REST 基本架构的四个方法: GET - 用于获取数据 PUT - 用于更新或添加数据 DELETE - 用于删除数据 POST - 用于添加数据 下面会通过一个场景介绍。 3....,REST的软件依赖性更小 不需要额外的资源发现机制 在软件技术演进中的长期的兼容性更好 二、实例介绍 REST 定义了资源的通用访问格式,接下来一个消费者为实例,介绍 RESTful API 定义:...获取用户列表 这一步我们会创建 RESTful API 中的 /users,使用 GET 来读取用户的信息列表: // index.js const express = require('express...如 GET /users 来读取所有用户列表。 1.4 避免多级 URL 避免在多层级资源时,使用多级 URL。...415 Unsupported Media Type:客户端要求的返回格式不支持。比如,API 只能返回 JSON 格式,但是客户端要求返回 XML 格式。

    1.3K60

    爬虫415(UNsupported media type)问题解决

    ---- 今天在我爬某个网站的时候,返回的结果是415,不支持的媒体类型(Unsupported media type),当时遇到这个问题的时候,我有点蒙,什么是媒体,在这里先不管他什么是媒体,反正就是报错...,但是能肯定的是415错误肯定是请求的问题。...2、弄清楚这个请求是post/get请求,我确定了这个请求“http://cq.gsxt.gov.cn/gsxt/api/ebaseinfo/queryForm/“+pripid+”/1?...3、get请求和post请求在爬虫看来最大的差别就是,post请求参数都写在了请求地址的“?”后面,而get请求的参数要写在request请求类里面。...把各种请求头信息都加上了(请求头不要写错了,千万不能带着问题区找问题),发现还是报Unsupported media type错误。

    1.3K10

    RESETful API 设计规范

    没有进行认证或者认证非法或失效 403 Forbidden 服务器已经理解请求,但是拒绝执行它 404 Not Found 该状态码表示用户请求的资源不存在,如 获取不存在的用户信息 (get /users...如通过手机号码提供注册功能的 API,当用户提交的手机号已存在时,必须 返回此状态码。 410 Gone 表示当前请求的资源已永久不存在。...415 Unsupported Media Type 通常表示服务器不支持客户端请求首部 Content-Type 指定的数据格式。...如在只接受 JSON 格式的 API 中放入 XML 类型的数据并向服务器发送,都 应该 返回该状态码。...该状态码也可用于如:只允许上传图片格式的文件,但是客户端提交媒体文件非法或不是图片类型,这时 应该 返回该状态码: HTTP/1.1 415 Unsupported Media Type Server:

    2.2K10

    用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST

    状态码 状态码是非常重要的,因为只有状态码会告诉API的消费者: 请求是否如预期的成功,或者失败 如果出现了错误,谁该为这个错误负责 下面再列举一下web API会用到的状态码: 200级别,表示成功:...,表示请求的资源不存在 405 - Method not allowed,这就是当我们尝试发送请求给某个资源时,使用的HTTP方法却是不允许的,例如使用POST api/countries, 而该资源只实现了...错误;有时也用在尝试创建资源时该资源已存在的情况。...创建资源 首先了解一下方法的安全性和幂等性。 安全性是指方法执行后并不会改变资源的表述。 幂等性是指方法无论执行多少次都会得到同样的结果。 下面是HTTP方法的安全性和幂等性列表: ?...参考这个列表可以帮助决定在某种情况下用哪种HTTP方法。 下面看看创建Country的代码: ? 这个代码很简单,数据是从请求的body带进来的。

    2.2K10

    前端要知道的RESTful API架构风格

    自己在写Node服务时你遇到如何定义好接口的问题吗?下面介绍一种API架构风格,也是目前主流的API设计风格,你或许一直在使用。 ? RESTful API 示例 REST是什么?...因为如果服务端要管用户的会话信息的话,一旦服务端出错出现故障用户会话信息就会完全丢失,想要恢复起来机会是不可能的,所以说它的可靠性就会很差,但如果服务端不管你用户会话信息的话,那么从故障中恢复起来就回非常的容易...自描述的消息。每个请求或响应必须提供足够的信息让接受者理解,这些消息是指比如媒体类型、HTTP方法、是否缓存 超媒体作为应用状态引擎。...如果你的请求是错的,那么应用尽量把错误信息给返回,并按照一个规范通用的格式 安全 HTTPS 鉴权 限流 开发者友好 文档 超媒体 RESTful API 示例 下面是我是真实API截图,用Swagger...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。

    1.2K30

    drf之请求、响应、视图

    1.2 Response(响应) drf 提供了一个响应类Response,使用该类构造响应对象时,响应的具体数据内容会被转换(render渲染)成符合前端需求的类型。...; content_type: 响应数据的Content-Type,通常此参数无需传递,REST framework会根据前端所需类型数据来设置该参数。...在APIView中仍以常规的类视图定义方法来实现get() 、post() 或者其他请求方式的方法。例如使用APIView简单的实现五个增删查改的API接口。...提供的关于序列化器使用的属性与方法 属性:serializer_class  指明视图使用的序列化器 方法: get_serializer_class(self) : 当出现一个视图类中调用多个序列化器时...成功返回200,序列化器校验数据失败时,返回400错误。

    2.8K20

    HTTP 协议简介

    HTTP 1.0还有个显著的变化是通过HTTP协议头可以支持各种媒体类型。从此Web上不再仅仅是纯文本的页面,比如图像通过 的HTML标记开始出现。...请求头 HEADER 请求头除 Host 外均是可选的: HTTP/1.1 请求头常见字段 字段 意义 Accept 客户端可以处理的媒体类型(MIME-Type),按优先级排序;在一个以逗号为分隔的列表中...,可以定义多种类型和使用通配符 Accept-Language 客户端支持的自然语言列表 Accept-Encoding 客户端支持的编码列表 User-Agent 客户端环境类型 Host 服务器端的主机地址...服务器错误 — 服务器在处理某个正确请求时发生错误 下面列举常见情况: 客户端错误 100 — Continue 继续。...415 — Unsupported Media Type 不支持媒体类型。 416 — Requested range not satisfiable。

    1.1K20
    领券