当前位置: 首页 > news >正文

松江建网站建立个人免费网站

松江建网站,建立个人免费网站,网站和app可以做充值余额功能,在哪个网站做一照一码Python Web 开发#xff1a;FastAPI 入门实战 —— HTTP 基础与 RESTful API 设计 目录 #x1f680; HTTP 协议概述#x1f310; HTTP 请求与响应的工作原理#x1f6e0;️ RESTful API 设计理念#x1f5c2;️ JSON 格式数据的传输与解析 1. #x1f680; HTTP 协议概…Python Web 开发FastAPI 入门实战 —— HTTP 基础与 RESTful API 设计 目录 HTTP 协议概述 HTTP 请求与响应的工作原理️ RESTful API 设计理念️ JSON 格式数据的传输与解析 1. HTTP 协议概述 HTTPHyperText Transfer Protocol是现代互联网应用的基础协议它定义了浏览器与服务器之间进行通信的规则。通过 HTTP 协议客户端能够向服务器发送请求服务器则根据请求内容返回响应数据。HTTP 协议的工作模型是请求-响应模式客户端发出请求服务器返回响应。 请求方法Request Methods 在 HTTP 协议中请求方法决定了客户端希望对服务器上的资源执行何种操作。常见的请求方法包括 GET用于请求获取资源。GET 请求只用于获取数据不会对服务器上的数据造成任何修改。 app.get(/items/{item_id}) def read_item(item_id: int):return {item_id: item_id}POST用于向服务器提交数据通常用于创建资源。POST 请求会将数据发送到服务器并让服务器根据这些数据进行处理。 app.post(/items/) def create_item(item: Item):return {name: item.name, price: item.price}PUT用于更新资源。当客户端需要更新某个资源时使用 PUT 请求来提交新数据。与 POST 请求不同PUT 请求通常是幂等的即多次提交相同数据的结果是一样的。 app.put(/items/{item_id}) def update_item(item_id: int, item: Item):return {item_id: item_id, name: item.name, price: item.price}DELETE用于删除资源。DELETE 请求通常是幂等的即删除相同资源多次结果不会发生变化。 app.delete(/items/{item_id}) def delete_item(item_id: int):return {message: fItem {item_id} deleted}HTTP 状态码Status Codes HTTP 状态码是服务器响应的核心部分它指示了请求处理的结果。常见的状态码包括 2xx成功类 200 OK请求成功服务器返回所请求的资源或确认操作已完成。201 Created请求成功且服务器创建了新的资源。 3xx重定向类 301 Moved Permanently请求的资源已永久迁移到新位置。302 Found请求的资源暂时位于不同的位置。 4xx客户端错误类 400 Bad Request请求格式有误或缺少必要的参数。404 Not Found请求的资源不存在。 5xx服务器错误类 500 Internal Server Error服务器发生了未预料的错误导致请求无法完成。503 Service Unavailable服务器暂时不可用通常是由于服务器超载或正在进行维护。 在 FastAPI 中你可以自定义 HTTP 状态码 from fastapi import HTTPExceptionapp.get(/items/{item_id}) def read_item(item_id: int):if item_id 42:raise HTTPException(status_code404, detailItem not found)return {item_id: item_id}HTTP 头部Headers HTTP 请求和响应包含了许多有用的头部信息如请求的内容类型、响应的格式、缓存策略等。常见的头部包括 Content-Type指定请求或响应的内容类型。例如application/json 表示发送的内容是 JSON 格式。Authorization用于身份验证常见的如 Bearer Token。User-Agent指定发起请求的客户端软件如浏览器或应用。 在 FastAPI 中头部可以通过参数注入 from fastapi import Headerapp.get(/header/) def read_header(user_agent: str Header(...)):return {User-Agent: user_agent}2. HTTP 请求与响应的工作原理 HTTP 协议的工作原理基于客户端和服务器之间的请求-响应模型。当客户端向服务器发出请求时服务器解析请求并返回响应。整个过程分为以下几个步骤 客户端发起请求 客户端发起 HTTP 请求时包含以下主要信息 请求行包括 HTTP 方法如 GET、POST、请求的资源路径和协议版本。例如GET /items/123 HTTP/1.1。请求头包含请求的元数据如 Content-Type、Authorization 等。请求体可选在 POST、PUT 等方法中请求体包含了客户端发送给服务器的数据如 JSON 格式的对象。 在 FastAPI 中HTTP 请求通常通过 HTTP 方法装饰器定义例如 app.get(/path)。 服务器处理请求 服务器接收到 HTTP 请求后会根据请求的 URL 路径、方法及参数进行处理。FastAPI 会根据请求的 URL 路径和 HTTP 方法匹配相应的视图函数。当请求包含参数时FastAPI 会自动将这些参数提取并传递给函数。例如 app.get(/items/{item_id}) def read_item(item_id: int):return {item_id: item_id}此时item_id 就是从 URL 路径中提取的参数。 服务器返回响应 服务器根据处理结果构建一个 HTTP 响应包含响应行、响应头和响应体。响应体通常是请求数据的结果格式可能是 JSON、HTML、纯文本等。 在 FastAPI 中响应数据通常是 JSON 格式 from fastapi import FastAPIapp FastAPI()app.get(/items/{item_id}) def read_item(item_id: int):return {item_id: item_id}当客户端接收到响应时它将解析响应头和响应体并根据需要进行处理。 3. ️ RESTful API 设计理念 RESTRepresentational State Transfer是一种基于 HTTP 协议的架构风格用于设计可扩展和可维护的 API。RESTful API 是遵循 REST 架构风格设计的 API它利用 HTTP 方法来定义操作并通过 URL 进行资源标识。 资源的定义 在 RESTful API 中一切内容都被视为资源。资源可以是数据实体如用户、商品、订单等也可以是服务或操作。每个资源都应该具有唯一的标识符通常是 URL 路径。 例如在一个电商平台中可以定义以下资源 用户资源/users/{user_id}商品资源/products/{product_id} 资源的操作 RESTful API 通过 HTTP 方法对资源进行操作。常见的操作包括 GET用于查询资源。通过 GET 请求可以获取某个资源的详细信息或者获取资源的列表。POST用于创建资源。通过 POST 请求可以将新资源提交到服务器并创建新的数据实体。PUT用于更新资源。通过 PUT 请求可以修改现有资源的数据。DELETE用于删除资源。通过 DELETE 请求可以删除某个资源。 RESTful URL 设计原则 RESTful API 的 URL 设计应该遵循以下原则 使用名词表示资源而不是动词。比如/items 表示所有的商品资源而不是 /getItems。使用层级结构来表示资源之间的关系。例如/users/{user_id}/orders 表示某个用户的订单。 app.get(/users/{user_id}/orders) def get_orders(user_id: int):return {user_id: user_id, orders: orders}4. ️ JSON 格式数据的传输与解析 JSONJavaScript Object Notation是一种轻量级的数据交换格式易于人类阅读和编写同时也易于机器解析和生成。它在 Web 开发中广泛应用尤其是在客户端与服务器之间的数据传输中。 JSON 数据格式 JSON 数据格式由键值对组成键是字符串值可以是字符串、数字、布尔值、数组、对象或 null。例如 {name: John Doe,age: 30,is_student: false,courses: [Math, Science] }在 FastAPI 中客户端和服务器通过 JSON 格式进行数据交互。FastAPI 会自动处理 JSON 的解析和生成客户端只需要发送符合 JSON 格式的数据即可。 FastAPI 中的 JSON 解析 FastAPI 使用 Pydantic 模型来验证和解析 JSON 数据。在请求 体中FastAPI 会自动将 JSON 数据转换为 Python 对象并根据定义的 Pydantic 模型进行验证。例如 from pydantic import BaseModelclass Item(BaseModel):name: strprice: floatapp.post(/items/) def create_item(item: Item):return {name: item.name, price: item.price}在客户端发送一个 JSON 请求时 {name: Laptop,price: 1000.0 }FastAPI 会自动解析这个 JSON 请求并将其转换为 Item 对象。 JSON 响应 FastAPI 在返回响应时也会使用 JSON 格式。默认情况下FastAPI 会将返回的数据自动转换为 JSON 格式 app.get(/items/{item_id}) def get_item(item_id: int):return {item_id: item_id, name: Laptop, price: 1000.0}客户端接收到的响应将会是 {item_id: 1,name: Laptop,price: 1000.0 }以上内容涵盖了 HTTP 协议基础、请求与响应的工作原理、RESTful API 设计理念以及 JSON 格式的数据传输与解析为 FastAPI 入门打下了坚实的基础。通过这些知识可以更好地理解 FastAPI 的工作机制进而高效地构建 Web 应用。
http://www.hkea.cn/news/14557610/

相关文章:

  • 个人网站什么好泰安市泰山区招聘信息
  • 大型网站 解决方案 技术网站怎么做防御
  • 福州优化网站建设玛迪做网站
  • 汽车金融网站怎么做wordpress留言板源码
  • 织梦如何制作静态网站模板骨干专业群建设任务书网站
  • 免费个人网站建设制作代码官方网站建设方案图
  • 如何创建公司网站做标签网站是干嘛的
  • 餐饮行业做网站的好处电子商务网站建设与管理读书心得
  • 百度地图电脑版网页优化服务公司
  • 网站怎么做网上报名行业网站 源码
  • 八步网站建设简洁大气的企业网站
  • 最简单的网站系统ui设计
  • 网站布局分类个人创建网站程序
  • 织梦后台怎么做网站地图什么网页可以做网站
  • 网站推广预期达到的目标wordpress前台打不开
  • 定制制作网站设计黄骅港旅游景点大全海边
  • 阿里云快速做网站烟台网站建设找企汇互联专业
  • 网页游戏网站有哪些wordpress免费相册插件
  • 淄博网站建设公司有几家大宗商品交易公司
  • 孝感网站开发找优搏google浏览器入口
  • wordpress 插件 重命名免费seo排名工具
  • 外链生成网站科技设计网站建设
  • 电子商务网站建设与实验给网站做接口
  • 代理网址是什么谷歌seo需要做什么
  • 网站维护和制作怎么做会计分录建设摩托车官网报价表
  • 长沙微信网站律师事务所网站建设策划方案
  • 网站建设之开展电子商务设计网站推荐html
  • 阿里云域名注册服务网站做网站常用的插件
  • 如何用自己的电脑建网站网站做锚点
  • 网站建设维护的相关基础知识常州建设网站代理商