Python 3.x RESTAPI和POST请求:url中有哪些数据,POST请求中有哪些数据?

Python 3.x RESTAPI和POST请求:url中有哪些数据,POST请求中有哪些数据?,python-3.x,api,rest,http-post,Python 3.x,Api,Rest,Http Post,我正在开发一个时间表Web应用程序。我的问题是后端服务器的url应该是什么样子。我已经看到下面提供的两个示例在现有API中使用。我对大会很好奇 最好的问候和感谢提前很多 例如: RESTAPI端点:mycolwebapp.com/API/timesheet/{user_id}/{date} 使用POST有效载荷: {'hours' : 8, 'operation': 'documentation'} {'user_id': 10, 'date': '2020-08-18', 'hours' :

我正在开发一个时间表Web应用程序。我的问题是后端服务器的url应该是什么样子。我已经看到下面提供的两个示例在现有API中使用。我对大会很好奇

最好的问候和感谢提前很多

例如:

RESTAPI端点:
mycolwebapp.com/API/timesheet/{user_id}/{date}
使用POST有效载荷:

{'hours' : 8, 'operation': 'documentation'}
{'user_id': 10, 'date': '2020-08-18', 'hours' : 8, 'operation': 'documentation'}
或:

RESTAPI端点:
mycolwebapp.com/API/timesheet/
使用POST有效载荷:

{'hours' : 8, 'operation': 'documentation'}
{'user_id': 10, 'date': '2020-08-18', 'hours' : 8, 'operation': 'documentation'}

由于浏览器中暴露的数据量较少,因此最好使用下面的方法

REST API端点: mycoolwebapp.com/api/timesheet

后有效负载:
{'user_id':10,'date':'2020-08-18','hours':8,'operation':'documentation'}

由于浏览器中暴露的数据量较少,因此首选下面的一个

REST API端点: mycoolwebapp.com/api/timesheet

后有效负载: {'user_id':10,'date':'2020-08-18','hours':8,'operation':'documentation'}

url中有哪些数据,post请求中有哪些数据

RESTAPI是一种外观。当我们创建RESTAPI时,我们真正要做的是提供一个类似于HTTP兼容文档存储(又名“web站点”)的接口

URI是用于从存储中检索正确文档的密钥。这里考虑的Python模拟是:

在简单的情况下,我们考虑了两个词典;第一个是在源服务器上使用的,用于跟踪每个资源的权威副本

第二个字典是客户端使用的字典。资源的表示使用标识符作为键进行存储

HTTP提供了缓存项的显式语义;该失效是成功的“不安全”请求的结果

换句话说,当我们决定在哪里发布消息时,我们要选择的一件事是应该使以前缓存的资源无效。缓存中的哪个主要文档将因成功处理消息而更改

这告诉我们,我们为POST请求编码到URI中的信息应该与我们在对同一文档执行GET请求时编码到URI中的信息相同

相反,请求主体不会以任何方式影响缓存——休息点的一部分是通用组件所需的所有信息都包含在标准化元数据中。没有通用组件需要解析消息体来理解域中发生的事情

因此,您几乎可以通过消息体执行您喜欢的操作

例如,将您需要的所有信息放入消息体是完全合理的,其中一些信息也在URI中复制

对于您特定的时间表示例,我感兴趣的问题是,您使用什么URI来读取时间表?如果我们使用以下内容检索文档

GET /mycoolwebapp.com/api/timesheet/10/2020-08-18 HTTP/1.1
那么这将是一种完全合理的方式来更新服务器的文档副本

POST /mycoolwebapp.com/api/timesheet/10/2020-08-18 HTTP/1.1
Content-Type: application/json

{'user_id': 10, 'date': '2020-08-18', 'hours' : 8, 'operation': 'documentation'}
url中有哪些数据,post请求中有哪些数据

RESTAPI是一种外观。当我们创建RESTAPI时,我们真正要做的是提供一个类似于HTTP兼容文档存储(又名“web站点”)的接口

URI是用于从存储中检索正确文档的密钥。这里考虑的Python模拟是:

在简单的情况下,我们考虑了两个词典;第一个是在源服务器上使用的,用于跟踪每个资源的权威副本

第二个字典是客户端使用的字典。资源的表示使用标识符作为键进行存储

HTTP提供了缓存项的显式语义;该失效是成功的“不安全”请求的结果

换句话说,当我们决定在哪里发布消息时,我们要选择的一件事是应该使以前缓存的资源无效。缓存中的哪个主要文档将因成功处理消息而更改

这告诉我们,我们为POST请求编码到URI中的信息应该与我们在对同一文档执行GET请求时编码到URI中的信息相同

相反,请求主体不会以任何方式影响缓存——休息点的一部分是通用组件所需的所有信息都包含在标准化元数据中。没有通用组件需要解析消息体来理解域中发生的事情

因此,您几乎可以通过消息体执行您喜欢的操作

例如,将您需要的所有信息放入消息体是完全合理的,其中一些信息也在URI中复制

对于您特定的时间表示例,我感兴趣的问题是,您使用什么URI来读取时间表?如果我们使用以下内容检索文档

GET /mycoolwebapp.com/api/timesheet/10/2020-08-18 HTTP/1.1
那么这将是一种完全合理的方式来更新服务器的文档副本

POST /mycoolwebapp.com/api/timesheet/10/2020-08-18 HTTP/1.1
Content-Type: application/json

{'user_id': 10, 'date': '2020-08-18', 'hours' : 8, 'operation': 'documentation'}

“GET/mycoolwebapp.com/api/timesheet/10/2020-08-18http/1.1”我确实在用这种特定的方式来阅读时间表。谢谢你的评论和很好的解释!“GET/mycoolwebapp.com/api/timesheet/10/2020-08-18http/1.1”我确实在用这种特定的方式来阅读时间表。谢谢你的评论和很好的解释!谢谢你的回复。我同意你的观点,但用户VoiceOfUnreason有更好的动机。谢谢你的回复。我同意你的观点,但用户VoiceOfUnreason有更好的动机。