REST :处理请求中具有相同名称的矩阵样式和模板样式参数



考虑以下请求

   GET http://localhost:8080/app/{id}/details;id=some-value-here

在上面的请求中,有一个名为 id 的模板样式参数和一个矩阵类型参数名称/值作为id=some-value-here

在处理此类请求时,API 行为应该是什么?

  • 通过处理重复的参数键像往常一样提供请求? 因为即使参数键相同,它们的路径也不同。一个是模板样式,另一个是矩阵样式。
  • 拒绝请求说参数名称存在冲突?
  • 是否有任何指导此类冲突解决的 HTTP RFC?

在 RFC 中找到了答案。

根据 URI 模板的 RFC 6570 第 3.2.1 节。变量展开说如下(摘录(

如果变量在表达式中或表达式中多次出现URI 模板的多个表达式,该变量的值必须在整个扩展过程中保持静态(即变量必须具有相同的值才能计算每个变量扩展(。

这意味着,处理请求,但保留id在整个 URI 扩展过程中遇到的任何第一个值。

例如

GET http://localhost:8080/app/{id}/details;id=some-value-here

如果id为 1,则扩展应为

GET http://localhost:8080/app/1/details;id=1

相关内容

  • 没有找到相关文章

最新更新