首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FastAPI(20)- Response Status Code 响应状态

前言 和指定响应模型一样,可以在任何路径操作中添加参数 status_code,用于声明响应的 HTTP 状态码 @app.get() @app.post() @app.put() @app.delete...usr/bin/env python # -*- coding:utf-8 _*- """ # author: 小菠萝测试笔记 # blog: https://www.cnblogs.com/poloyy...HTTP 状态代码的 number status_code 也可以接收一个 IntEnum 如果是 number,可以使用 ,里面都是封装好的状态码变量,直接调用即可 from fastapi import...def create_item(name: str): return {"name": name} status_code 的作用 在响应中返回该状态代码 在 OpenAPI Schema 中记录它...,也会显示在 Swagger API 文档中 正确传参的请求结果 查看 Swagger API 文档 默认的 200 变成了 201

67430

带有 Python REST Web 服务示例的 REST API 快速入门指南

如果将来客户端请求一些它已经发送请求的数据,不是再次向服务器发送请求,缓存可以重用缓存的响应。 4....按需编码 这表明有时客户端可以下载可执行代码不是静态数据,即 JSON/XML。它增加了系统的可扩展性。...6 响应代码 这些编码与响应一起返回,并表示发送到服务器的请求的状态。这些类似于 HTTP 响应代码。例如,200 OK 表示请求成功,404 NOT FOUND 表示在服务器上找不到资源。...如果记录已存在,则返回错误代码 400 错误请求。 def post(self,category): PUT 方法将覆盖记录并返回数据以及响应代码 200 OK。...如果记录不存在,它会创建数据并返回它并创建响应代码 201。 def put(self,category): DELETE 方法删除记录(如果存在)并返回响应代码200 OK 的数据。

2.1K00
您找到你想要的搜索结果了吗?
是的
没有找到

Asp.Net Web API(二)

注意,如果你使用了ASP.NET MVC 已熟悉控制器,Web API控制器类似于MVC控制器,但是继承ApiController,不是Controller类 ?...包含以下内容:        响应代码:在默认情况下,这个Web API框架设置响应状态码为200(OK)。...但是根据这个HTTP/1.1协议,当POST请求在创建一个资源时,这个服务端应该回复状态201(Created)。...通过返回HttpResponseMessage不是产品,我们可以控制HTTP响应消息,包括状态代码和位置标头的详细信息。  ...在这种情况下,DeleteProduct方法具有void返回类型,因此ASP.NET Web API自动转换此状态代码204(无内容) 运行测试   方法创建完毕后我们就可以运行服务端进行测试了 ?

1.9K10

如何设计好的RESTful API

POST /users/12 HTTP/1.1X-HTTP-Method-Override: PUT 上面代码中, X-HTTP-Method-Override指定本次请求的方法是 PUT,不是 POST...很多后端开发人员可能受开发框架所限,或者返回数据封装形式不够好,经常会给前端人员不是很友好的 HTTP 状态码,比如 response 有 error,却给出 200HTTP.OK 的状态码 (明明吃了三碗粉...: 2xx 状态200表示成功,同时我们可以表示的更加精确 GET:200OK 请求成功 POST:201Created 创建成功 PUT:200OK 更新成功 DELETE:204NoContent...找不到要删除的内容 使用状态码 202 有时候会比 使用状态啊吗 201 是更好的选择,状态码 202 的意思是:服务端已接收到了请求,但是还没有创建任何资源,但结果一切正常。...同时在右侧工具栏打开 API,会自动生成 demoData 请求参数,实现快速调用测试: ?

1.6K20

使用 Nock 来模拟 http 请求响应

(200, { id: '123ABC' }); fetchUser('pgte', '123456'); 上面的例子中fetchUser会发出一个post请求到example.com/login....当我第一次开始使用Nock时,我急切地开始使用它进行单元测试。 然而,我很快就感觉到我花了更多时间编写Nocks不是实际测试业务逻辑。 对此的一个解决方案是将您的请求代码与业务逻辑分开。...此功能的测试代码可能如下所示: it('should properly decorate the fullName', async () => { nock('http://localhost')...userPromise = getUser(42); expect(userPromise).rejects.toThrow('Unable to fetch user #42'); }); 上面的测试代码主要分为两部分...}); 最后 你也可以使用您选择的模拟库来模拟我们自己的API包装器,不是使用Nock来模拟HTTP请求。

1.9K10

『Swagger 上手』

,平时的上网就是在和服务器交互:向服务器发送请求,服务器接收到请求之后,根据请求的动作,进行相应的动作响应。...在这个过程中,约定的API 经常随着开发的进行需要进行改动,有对请求进行更改的,有对返回信息进行修改的,也有对状态码定义的修改的。变动的API 对开发的要求很高,导致进行重复或者无效的开发。...; http: 动作:Get、Post、Put、Delete URL:访问路径:带参数和不带参数 返回信息:状态码和返回信息 主要是这三类。...除此之外,通过Swagger 生成的API, 可以得到交互式的文档,自动生成代码的SDK以及API 的发现特性等。 本文暂探讨配置文件的编写,生成可视化的API。 3....即:状态201、400 响应信息也使用 schema 模式来描述具体的参数信息: 嵌套处理 type : object properties 属性值 type: 属性的类型 description

1.3K70

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

/PATCH 不是幂等的 有些客户端只能使用 GET和 POST这两种方法。...POST /users/12 HTTP/1.1 X-HTTP-Method-Override: PUT 上面代码中, X-HTTP-Method-Override指定本次请求的方法是 PUT,不是 POST...很多后端开发人员可能受开发框架所限,或者返回数据封装形式不够好,经常会给前端人员不是很友好的 HTTP 状态码,比如 response 有 error,却给出 200HTTP.OK 的状态码 (明明吃了三碗粉...: 2xx 状态200表示成功,同时我们可以表示的更加精确 GET:200OK 请求成功 POST:201Created 创建成功 PUT:200OK 更新成功 DELETE:204NoContent...找不到要删除的内容 使用状态码 202 有时候会比 使用状态啊吗 201 是更好的选择,状态码 202 的意思是:服务端已接收到了请求,但是还没有创建任何资源,但结果一切正常。

1.4K10

如何设计出优秀的Restful API

3 API设计使用名词,不是动词 例如获取所有学生,可能通过如下api: /getAllStudents, 增加学生,可能是:/addNewStudent 更新学生,可能是:/updateStudent...6 使用HTTP状态码 当客户端通过API向服务器发出请求时,客户端应该知道反馈,无论是失败,成功还是请求错误。 HTTP状态代码是一系列标准化代码,针对http请求的可能会发生的各种情况。...下面是Http状态码,可以合理利用处理各种请求反馈,将http自身的错误和服务器内部的错误,有一个很好的区分。 2xx(成功类别) 200 Ok表示GET,PUT或POST成功的标准HTTP响应。...201 Created每当创建新实例时,都应返回此状态代码。 例如,使用POST方法创建新实例时,应始返回201状态代码。 204 No Content表示请求已成功处理,但未返回任何内容。...- 6,使用HTTP自身的方法表示增删改查资源, GET:查询,POST:新增,PUT:更新,DELETE:删除 7,合理使用HTTP状态码,200201,400,401,403,500。

1K10

API OWASP 标准

,但不是关于确切错误(堆栈跟踪或错误文本)的非常清晰的普通消息,这可能会将内部实现暴露给 API 使用者 GET: 200 OK 和 items -array 作为空数组 GET:204 空响应,正文中没有任何内容...POST: 200 OK 更新或提交不创建新资源 201 -response 结合创建资源的标识符 DELETE: 204 OK 删除资源成功时 本土化 带有时区的 UTC 日期和时间格式(ISO...标准) 与 ISO 标准代码一起使用的语言和国家代码?...UUID 用于标识对象不是内部 ID? 安全的直接对象引用,即 URL 中没有敏感信息(如银行帐号、社会保险号、人名等)作为资源名称或查询参数?...规范包含标准格式的请求和响应示例,API 文档根据规范、模式和示例自动生成 POST, PUT: 201 为创建新资源创建 来自客户端的 400 个错误请求,例如缺少必需的查询参数 白名单:POST

2.6K20

restful最佳实践--接口规范

**REST是设计风格不是标准。...支持按需代码(Code on Demand,可选) 服务器可以通过传输逻辑来临时扩展或定制客户端的功能。 URL规范 GET https//domain.com/api/{模块名}/{?...查询字段内容过多,统一使用POST方式查询,请求地址增加/query加以区分 批量删除,统一使用POST方式,请求地址增加/delete加以区分 由于存在批量删除的情况,一些网关、代理、防火墙在收到...注意:在资源ID由客户端不是由服务器选择的情况下,也可以使用PUT来创建资源。修改成功返回200,创建成功返回201。建议使用post进行创建新资源。...POST 201 (Created) 404 (Not Found) DELETE 404 (Not Found),除非你想删除整个资源 200 (OK) 。

1.9K42

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

这就有问题了,如果查询不到资源,那么返回的应该是404 NOF FOUND 不是200 OK....状态状态码是非常重要的,因为只有状态码会告诉API的消费者: 请求是否如预期的成功,或者失败 如果出现了错误,谁该为这个错误负责 下面再列举一下web API会用到的状态码: 200级别,表示成功:...下面看看创建Country的代码: ? 这个代码很简单,数据是从请求的body带进来的。 需要注意的是返回什么,如果POST操作执行成功的话,标准的做法是返回201 Created 状态码。...这个Action所期待的参数类型是Id的集合, 实际传入的是id的字符串, 通过ArrayModelBinder来实现转化. 最后修改POST方法的返回: ? 测试一下: ?...(POST不是幂等性的, 它无法多次请求都产生同样的结果). 测试一下id的资源不存在的情况: ? 在测试一下Id的资源存在的情况: ? 还是404, 这个不行, 所以需要手动处理: ?

1.5K10

RESTful API 最佳实践(阮一峰)

上面代码中,X-HTTP-Method-Override指定本次请求的方法是PUT,不是POST。 1.3 宾语必须是名词 宾语就是 API 的 URL,是 HTTP 动词作用的对象。...比如,/articles这个 URL 就是正确的,下面的 URL 不是名词,所以都是错误的。...GET: 200 OK POST: 201 Created PUT: 200 OK PATCH: 200 OK DELETE: 204 No Content 上面代码中,POST返回201状态码,表示生成了新的资源...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,303用于POST、PUT和DELETE请求。...3.2 发生错误时,不要返回 200 状态码 有一种不恰当的做法是,即使发生错误,也返回200状态码,把错误信息放在数据体里面,就像下面这样。 ? 上面代码中,解析数据体以后,才能得知操作失败。

2.7K20

RESTful API 最佳实践(阮一峰)

上面代码中,X-HTTP-Method-Override指定本次请求的方法是PUT,不是POST。 1.3 宾语必须是名词 宾语就是 API 的 URL,是 HTTP 动词作用的对象。...比如,/articles这个 URL 就是正确的,下面的 URL 不是名词,所以都是错误的。...GET: 200 OK POST: 201 Created PUT: 200 OK PATCH: 200 OK DELETE: 204 No Content 上面代码中,POST返回201状态码,表示生成了新的资源...它与302和307的含义一样,也是"暂时重定向",区别在于302和307用于GET请求,303用于POST、PUT和DELETE请求。...3.2 发生错误时,不要返回 200 状态码 有一种不恰当的做法是,即使发生错误,也返回200状态码,把错误信息放在数据体里面,就像下面这样。 ? 上面代码中,解析数据体以后,才能得知操作失败。

1.4K40

接口测试基本知识点

200 201 3XX:重定向,要完成请求必须进行进一步的操作 4XX:客户端错误,请求由语法错误或请求无法实现,404 403 5XX:服务器端错误 17、传统风格接口 查询某个用户:get和post...3、状态码的使用比较单一,200比较常见 18、RESTful接口 定义:一种软件架构设计风格不是标准,只是提供了一组设计原则和约束条件 RESTful架构特点: 1、统一的接口:http(s)://...(API文档) 3、设计测试用例 4、执行测试,使用接口测试工具实现或通过编写代码实现 5、接口缺陷管理与跟踪 6、生成测试报告 7、接口自动化集成(可选) 开发:概要设计书、详细设计书、代码 测试测试计划...、测试方案、测试用例、执行测试用例、提交跟踪缺陷、编写测试报告 20、接口文档定义 又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。...一个规范的接口文档要包含以下信息 资源路径:协议、域名、请求方法、接口描述 请求参数:请求头Content-Type描述请求体的数据类型 请求体:实现该接口使用的数据及对应类型 返回数据:状态200

48420
领券