将参数传递给POST API

将参数传递给POST API,api,rest,Api,Rest,我对设计RESTAPI是新手。我正在尝试创建以下用于在线游戏的API 现在我的问题是,当我尝试使用POST创建游戏时,我希望将userId发送到API。我不知道该怎么做。还请注意,我有另一个GetAPI来获取单个游戏的详细信息,比如 所以我不能将userId传递给POST-like-domain/api/games/{useID},因为它将与上面的api冲突。 那么我该如何通过usedId发布。另外,我不想使用查询参数。任何设计这个的建议都很好。它应该是上下文的一部分,您可以通过标题传递它,或者

我对设计RESTAPI是新手。我正在尝试创建以下用于在线游戏的API

现在我的问题是,当我尝试使用POST创建游戏时,我希望将userId发送到API。我不知道该怎么做。还请注意,我有另一个GetAPI来获取单个游戏的详细信息,比如

所以我不能将userId传递给POST-like-domain/api/games/{useID},因为它将与上面的api冲突。
那么我该如何通过usedId发布。另外,我不想使用查询参数。任何设计这个的建议都很好。

它应该是上下文的一部分,您可以通过标题传递它,或者是游戏对象的一部分。我更喜欢上下文选项,httpheader可以包含一些auth承载令牌,这样您就可以通过令牌了解后端的用户

在向服务发送帖子时,所传递的参数称为BODY参数,它们不在查询字符串中

不同的技术有不同的API与POST参数交互,但底层理论是相同的,由W3C HTTP标准描述

如何使用POST参数的细节取决于您使用的语言和技术。例如,如果您使用的是jquery,则有两种不同的方法可以使用$.post'url',data,callback方法或$.ajax。。。选择权

在服务器上读取POST参数时,通常会使用某种请求对象来访问它们,该对象会将参数存储在内存中供您访问。这在很大程度上取决于您使用的语言和框架,但以下是一些常见语言和框架的链接:

NodeJS/express:

PHP:

ASP.Net:


Java/Spring:

我正在使用Java,因此根据您的建议,我可以在post API中使用表单post,并在后端逻辑中处理包含usedId的表单数据。是吗?您很可能希望使用ajax请求,而不是标准表单POST。如果只是使用,那么web应用程序将向用户显示API调用的结果,而不是网页。您需要使用某种ajax请求将数据发送到api,然后获取响应代码并动态更新UI。我想不出有哪种情况需要使用标准的html POST到API。
GET domain/api/games // return all games
POST domain/api/games // create a new game on behalf of current user
GET domain/api/games/{gameId}