GET:读取(Read) POST:新建(Create) PUT:更新(Update) PATCH:更新(Update),通常是部分更新 DELETE:删除(Delete) 根据 HTTP 规范,动词一律大写...POST /api/Person/4 HTTP/1.1 X-HTTP-Method-Override: PUT 上面代码中,X-HTTP-Method-Override指定本次请求的方法是PUT,而不是...比如,/articles这个 URL 就是正确的,而下面的 URL 不是名词,所以都是错误的。...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,而303用于POST、PUT和DELETE请求。...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。
1、GET:读取(Read) 2、POST:新建(Create) 3、PUT:更新(Update) 4、PATCH:更新(Update),通常是部分更新 5、DELETE:删除(Delete) 根据 HTTP...POST /api/Person/4 HTTP/1.1 X-HTTP-Method-Override: PUT 上面代码中,X-HTTP-Method-Override指定本次请求的方法是PUT,而不是...比如,/articles这个 URL 就是正确的,而下面的 URL 不是名词,所以都是错误的。...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,而303用于POST、PUT和DELETE请求。...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。
GET:读取(Read) POST:新建(Create) PUT:更新(Update) PATCH:更新(Update),通常是部分更新 DELETE:删除(Delete) 根据 HTTP 规范,动词一律大写...POST /api/Person/4 HTTP/1.1 X-HTTP-Method-Override: PUT 复制代码 上面代码中,X-HTTP-Method-Override 指定本次请求的方法是...比如,/articles这个 URL 就是正确的,而下面的 URL 不是名词,所以都是错误的。...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,而303用于POST、PUT和DELETE请求。...HTTP/1.1 303 See Other Location: /api/orders/12345复制代码 2.4 4xx 状态码 4xx状态码表示客户端错误,主要有下面几种: 400 Bad
# GET:读取(Read) # POST:新建(Create) # PUT:更新(Update) # PATCH:更新(Update),通常是部分更新 # DELETE:删除(Delete) 动词的覆盖...POST /api/Person/4 HTTP/1.1 X-HTTP-Method-Override: PUT 上面代码中,X-HTTP-Method-Override指定本次请求的方法是PUT,而不是...宾语必须是名词 宾语就是 API 的 URL,是 HTTP 动词作用的对象。它应该是名词,不能是动词。比如,/articles这个 URL 就是正确的,而下面的 URL 不是名词,所以都是错误的。...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,而303用于POST、PUT和DELETE请求。...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。
1.3 宾语必须是名词 就是 API 的url ,是 HTTP 动词作用的对象,所以应该是名词。例如 /books 这个 URL 就是正确的,而下面的 URL 不是名词,都是错误的写法。...推荐后者,避免出现多级URL。 2.1 状态码必须精确 客户端的请求,服务请求都必须响应,包含 HTTP 状态码和数据。 HTTP 状态码就是一个三位数,分成五个类别。...GET: 200 OK POST: 201 Created PUT: 200 OK PATCH: 200 OK DELETE: 204 No Content 2.3 4xx 状态码 4xx状态码表示客户端错误...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。...正确方式: HTTP/1.1 400 Bad Request ConteNTP-Type: application/json { "status": "fail", "msg": "错误" }
文章目录 一、请求和响应 1.请求对象 2.响应对象 3.状态码 4.视图中的使用 5.URL的可选格式 ---- 一、请求和响应 1.请求对象 REST框架引入了一个扩展常规的对象,并提供更灵活的请求解析...return Response(data) # 根据客户端的请求呈现为内容类型。 3.状态码 在视图中使用数字 HTTP 状态代码并不总是能带来明显的阅读效果,如果错误代码出错,也很容易不注意到。..._BAD_REQUEST) @api_view(['GET', 'PUT', 'DELETE']) def snippet_detail(request, pk): """ Retrieve...使用格式后缀可以为我们提供显式引用给定格式的URL,API将能够处理诸如 http://example.com/api/items/4.json 之类的URL。...# Browsable API suffix 同样,我们可以使用标头控制我们发送的请求的格式。
view,创建create,编辑edit和删除delete)都可以直接映射到HTTP 中已实现的GET,POST,PUT和DELETE方法。...) 以下是一些最重要的状态码: 请求成功的状态码: 200 – OK (默认的) 201 – Created(已创建) 202 – Accepted (已接受:常用语删除请求) 客户端错误状态码: 400...–请求出错(语法格式有误或服务器无法理解此请求) 401 – 未授权(需要登录) 404 – 找不到 (找不到所请求的文件或脚本) 405 – 不允许此方法(错误的 HTTP方法) 409 – 冲突...(IE尝试以PUT请求创建相同的资源时) API响应格式 当你请求HTTP时,你可以请求你想要接收的格式。...你大可以抛出一些错误的类型。但我建议你将JSON格式作为你的标准响应格式,因为这是开发者想要的格式。没理由去支持其他的格式,除非你已经有一个可支持的API。
GET:读取(Read) POST:新建(Create) PUT:更新(Update) PATCH:更新(Update),通常是部分更新 DELETE:删除(Delete) 根据 HTTP 规范,动词一律大写...上面代码中,X-HTTP-Method-Override指定本次请求的方法是PUT,而不是POST。 1.3 宾语必须是名词 宾语就是 API 的 URL,是 HTTP 动词作用的对象。...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,而303用于POST、PUT和DELETE请求。...2.4 4xx 状态码 4xx状态码表示客户端错误,主要有下面几种。 400 Bad Request:服务器不理解客户端的请求,未做任何处理。...正确的做法是,状态码反映发生的错误,具体的错误信息放在数据体里面返回。下面是一个例子。 ? 3.3 提供链接 API 的使用者未必知道,URL 是怎么设计的。
GET :获取(Read) POST:新建 (Create) PUT:更新(Update) PATCH:更新(Update); 部分更新 DELETE:删除(Delete) 有一些客户端只能使用GET和...POST /api/Person/4 HTTP/1.1 X-HTTP-Method-Override: PUT 上面代码中,X-HTTP-Method-Override 指定本次请求的方法是PUT,而不是...宾语就是API的URL,是HTTP动词作用的对象。他应该是名词,不能是动词。比如,/articles这个URL就是正确的,而下面URL不是名词,所以都是错误的。...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。...这种做法实际上取消了状态码,这完全不可取的,正确的做法是,状态码反应发生的错误,具体的错误信息放在数据体里面返回。下面是一个例子。 API的使用未必知道,URL是怎么设计的。
POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。...比如,/articles这个 URL 就是正确的,而下面的 URL 不是名词,所以都是错误的。...400 Bad Request:服务器不理解客户端的请求,未做任何处理。 401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。...301 状态码(永久重定向)302 状态码(暂时重定向,307也是这个含义) 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
GET:对应 Retrieve 操作(查询操作) POST:对应 Create 操作 DELETE:对应 Delete 操作 PUT:对应 Update 操作 PATCH:对应 Update 操作 2.3...但其实,PUT 也可以做 Create 操作。二者的区别在于: URL:POST 不需要指定到个体,例如新增 user 的接口 POST /api/users。...PUT 的 URL 需要指定到具体的个体,例如 PUT /api/users/1,如果 1 这个 user 存在,则 Update,否则 Create。...3.2 版本 一种方法是在 URL 中添加版本号,例如: https://api.example.com/v1/users 另一种方法是将版本号加在 HTTP 请求头信息的 Accept 字段中,例如:...– Bad Request – 调用不合法,确切的错误应该在 error payload 中描述 401 – 未认证,调用需要用户通过认证 403 – 不允许的,服务端正常解析和请求,但是调用被回绝或者不被允许
https://example.org/api/ 应该将API的版本号放入URL。...POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。
请求建立Pages --> 刷新仓库的giteePages服务 ? 码代码 代码基本上没有什么逻辑,通过http协议请求码云的api就好了。...仓库所属空间地址(企业、组织或个人的地址path) (owner) * %s => 仓库路径(repo) * %s => 文件的路径(path) */ String CREATE_REPOS_URL...= "https://gitee.com/api/v5/repos/%s/%s/contents/%s"; /** * 请求建立page 如果建立了,可以刷新 * ...("access_token", GiteeImgBedConstant.ACCESS_TOKEN); paramMap.put("message", GiteeImgBedConstant.CREATE_REPOS_MESSAGE...+ fileName; String requestUrl = String.format(GiteeImgBedConstant.CREATE_REPOS_URL, GiteeImgBedConstant.OWNER
即获取数据 POST(CREATE):在服务器新建一个资源。 即添加数据 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。 状态码的完全列表参见这里。...') def put(self, request, *args, **kwargs): return HttpResponse('put请求的响应内容') 全局使用 #注册认证类
环境 资源服务器迁移到spring security5.5.2 授权服务器仍使用spring security oauth2.x搭建 现象 使用无效的令牌访问资源服务器API时,希望返回401 未授权的响应...但实际返回的时500服务器错误 原因 授权服务器校验无效令牌时返回响应状态码为400 spring security5.x资源服务器OpaqueToken认证逻辑中,将状态码非200的令牌自省响应都以服务器异常抛出...return new OAuth2IntrospectionAuthenticatedPrincipal(claims, authorities); } private URL...issuer(String uri) { try { return new URL(uri); } catch (Exception ex) {...200的响应都以内省异常形式抛出,无法将授权错误的请求解析为TokenIntrospectionErrorResponse org.springframework.security.oauth2.server.resource.introspection.NimbusOpaqueTokenIntrospector
2️⃣ 处理错误麻烦,只有网络错误才会reject(promise的api),Http状态码404、500不会被标记为reject 3️⃣ 不支持取消一个请求以及查看请求的进度。...请求的url、参数、请求方式(GET PUT POST DELETE),默认的请求是GET请求,method其实可以不写。...下面的另一个方法 遍历了 'post', 'put', 'patch',这几中方式传入了url data 和 config,所以这几种请求是可以传data参数的。...获取错误信息 在使用Promise的then() API的时候,我们是可以再通过catch API 获得错误异常的。那么 async await这种写法怎么获得错误异常呢?...再考虑一个问题,如果,去请求两台服务器 那么baseURL怎么办 可以创建多个实例 通过 axios.create // 创建实例 const instance1 = axios.create({
/api/users/100 新建一条 users 记录 POST /api/users 更新一条 users 记录 PUT /api/users/100 删除一条 users 记录 DELETE /...动词通常有以下五种 HTTP 方法: GET:读取(Read) POST:新建(Create) PUT:更新(Update) PATCH:更新(Update),通常是部分更新...比如,/users是正确的,因为 URL 是名词,而下面就都是错误的了: /getUsers /createUsers /deleteUsers 1.3 建议复数 URL 因为 URL 是名词,没有单复数的限制...这边列举几个经常使用的状态码介绍: 303 See Other:表示参考另一个 URL。 400 Bad Request:服务器不理解客户端的请求,未做任何处理。...正确的做法应该是在错误时,返回对应错误状态码,并将错误信息返回: HTTP/1.1 400 Bad Request Content-Type: application/json { "error"
POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。...200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。 返回结果 针对不同操作,服务器向用户返回的结果应该符合以下规范。
领取专属 10元无门槛券
手把手带您无忧上云