将两个不同参数传递给 REST API 的最佳解决方案是什么?
What is the best solution to pass two different parameters to a REST API?
我怀疑什么是为 API.
定义 REST URI 的最佳方式
我有一个 API 提供商品的详细信息。
所以我知道我可以像这样执行 GET 请求:
http://XXX.YYY.ZZZ.TTT:8280/commodity_details/1
其中commodity_details是我要获取的(某商品详情),1是具体的ID商品。这应该是一个正确的 REST URI。
好的,我知道我也可以将 ID 参数传递到 JSON 文档点 POST 请求,如下所示:
http://XXX.YYY.ZZZ.TTT:8280/commodity_details/
并将这样的 JSON 负载附加到我的 POST 请求:
{
"commodity_id": 1
}
我认为如果我有单个 commodity_id 参数也许第一个版本更好(将所需的 ID 放入 URI),对吗?
但是如果我需要第二个 language_id 参数会怎样? (我的 API 也应该收到这个 language_id 参数,这样它就可以以正确的语言提供国际化的输出。
所以在这种情况下,我需要传递 2 个参数(commodity_id 和 language_id)。
在这种情况下,最好使用 POST 请求和包含两个参数的 JSON 负载?像这样:
{
"commodity_id": 1,
"language_id": 2
}
或者对于这种情况,什么是好的 URI 模板?
如果只传递 2 个参数,您可以使用更简单的第一种方法(查询字符串参数)
[HttpGet("{commodity_id}/{language_id}")]
public string GetCommodityDetails(string commodity_id, string language_id)
{
string commodityDetails=string.empty;
//your implementation
return commodityDetails;
}
我怀疑什么是为 API.
定义 REST URI 的最佳方式我有一个 API 提供商品的详细信息。
所以我知道我可以像这样执行 GET 请求:
http://XXX.YYY.ZZZ.TTT:8280/commodity_details/1
其中commodity_details是我要获取的(某商品详情),1是具体的ID商品。这应该是一个正确的 REST URI。
好的,我知道我也可以将 ID 参数传递到 JSON 文档点 POST 请求,如下所示:
http://XXX.YYY.ZZZ.TTT:8280/commodity_details/
并将这样的 JSON 负载附加到我的 POST 请求:
{
"commodity_id": 1
}
我认为如果我有单个 commodity_id 参数也许第一个版本更好(将所需的 ID 放入 URI),对吗?
但是如果我需要第二个 language_id 参数会怎样? (我的 API 也应该收到这个 language_id 参数,这样它就可以以正确的语言提供国际化的输出。
所以在这种情况下,我需要传递 2 个参数(commodity_id 和 language_id)。
在这种情况下,最好使用 POST 请求和包含两个参数的 JSON 负载?像这样:
{
"commodity_id": 1,
"language_id": 2
}
或者对于这种情况,什么是好的 URI 模板?
如果只传递 2 个参数,您可以使用更简单的第一种方法(查询字符串参数)
[HttpGet("{commodity_id}/{language_id}")]
public string GetCommodityDetails(string commodity_id, string language_id)
{
string commodityDetails=string.empty;
//your implementation
return commodityDetails;
}