在 hateoas 中将具有默认值的可选查询参数添加到 self link
Add optional query parameters with default value to self link in hateoas
我正在开发的后端端点之一接受一个可选参数。如果客户端未发送此参数,它将采用默认值。所以这个GET
调用
http://my.host.com/some_endpoint
相当于
http://my.host.com/some_endpoint?some_parameter=0
这是 json 响应:
{
...
"_links": {
"self": "http://my.host.com/some_endpoint"
}
}
在第二个 GET
中,self
值的末尾是 ?some_parameter=0
。是否也应该将其添加到第一个调用中?
换句话说:应该
GET http://my.host.com/some_endpoint
成为
{
...
"_links": {
"self": "http://my.host.com/some_endpoint"
}
}
或
{
...
"_links": {
"self": "http://my.host.com/some_endpoint?some_parameter=0"
}
}
一方面,self
值应该指的是您请求的 URL,但另一方面,带有参数的值是等效的,如果您没有收到它,您将不会'不知道该选项可用(除非您阅读文档)
Hypertext Application Language (HAL) draft specification enforces the "href" in conformity with the "Target IRI" defined in Web Linking specification (RFC 5988).
Applications that don't wish to register a relation type can use an
extension relation type, which is a URI [RFC3986] that uniquely
identifies the relation type.
所以我想说 self 值不一定指请求的 URL,而是唯一的(因此 包括任何未指定的可选参数 , 及其默认值)。
我正在开发的后端端点之一接受一个可选参数。如果客户端未发送此参数,它将采用默认值。所以这个GET
调用
http://my.host.com/some_endpoint
相当于
http://my.host.com/some_endpoint?some_parameter=0
这是 json 响应:
{
...
"_links": {
"self": "http://my.host.com/some_endpoint"
}
}
在第二个 GET
中,self
值的末尾是 ?some_parameter=0
。是否也应该将其添加到第一个调用中?
换句话说:应该
GET http://my.host.com/some_endpoint
成为
{
...
"_links": {
"self": "http://my.host.com/some_endpoint"
}
}
或
{
...
"_links": {
"self": "http://my.host.com/some_endpoint?some_parameter=0"
}
}
一方面,self
值应该指的是您请求的 URL,但另一方面,带有参数的值是等效的,如果您没有收到它,您将不会'不知道该选项可用(除非您阅读文档)
Hypertext Application Language (HAL) draft specification enforces the "href" in conformity with the "Target IRI" defined in Web Linking specification (RFC 5988).
Applications that don't wish to register a relation type can use an extension relation type, which is a URI [RFC3986] that uniquely identifies the relation type.
所以我想说 self 值不一定指请求的 URL,而是唯一的(因此 包括任何未指定的可选参数 , 及其默认值)。