rest - 规范和正确使用( bool )URI 矩阵参数(并在使用 CXF/JAXB 时使它们可选)?

标签 rest jaxb cxf uri specifications

我想知道 URI/URL 矩阵参数 的“正确”使用是否曾经在规范中定义过,例如 RFC 或 W3 推荐?

特别是,我刚刚加入了一个项目,我们使用矩阵参数和 Java 框架来实现 REST 服务。我们的 REST 服务的矩阵参数之一是 bool 值,很像 ;sortByDate=true

让我感到困扰的是,我们使用的 Java 框架显然坚持始终传入 bool 参数(即您不能将它们设为可选/省略它们;可能是因为它们已转换为 Java bool 类型)。我觉得这有点奇怪......

我必须仔细检查我们明天使用的框架(我认为是 JAXB),但与此同时我想知道矩阵参数是否在某个地方的官方规范中定义,以及这样的规范是否提到了 bool 参数。

到目前为止,我在 Appendix B 2.2 中找到了一个提示(虽然没有提到 bool 矩阵参数) W3 的“HTML 4.01 规范”:

We recommend that HTTP server implementors, and in particular, CGI implementors support the use of ";" in place of "&" to save authors the trouble of escaping "&" characters in this manner.

Web Application Description Language ”规范指定:

Boolean matrix parameters are represented as: ';' name when value is true and are omitted from identifier when value is false

我还没有找到矩阵参数的“”规范。有没有?它是否提到应如何使用 bool 矩阵参数?如果没有,是否有既定的最佳实践?

还有一个额外的问题:您可以在使用 CXF (JAXB) 时省略 bool URL 矩阵参数,还是必须始终指定它们?

干杯! :)

更新:我们正在使用 CXF (这显然在幕后使用了 JAXB...)

最佳答案

RFC3986 描述了矩阵参数,但没有明确命名它们。引用 https://www.rfc-editor.org/rfc/rfc3986#section-3.3 :

For example, the semicolon (";") and equals ("=") reserved characters are often used to delimit parameters and parameter values applicable to that segment. The comma (",") reserved character is often used for similar purposes. For example, one URI producer might use a segment such as "name;v=1.1" to indicate a reference to version 1.1 of "name", whereas another might use a segment such as "name,1.1" to indicate the same.

希望对您有所帮助。

关于rest - 规范和正确使用( bool )URI 矩阵参数(并在使用 CXF/JAXB 时使它们可选)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20182364/

相关文章:

java - 将数据 POST 到数据库时出现错误 204

java - JAXB 解码返回非根元素

java - 为什么 JAXB generateElementProperty=false 没有达到预期的效果?

soap - Camel 和CXF : How to get the outbound message?

web-services - Angular2 如何使用服务类发布数据

tomcat - JAX-RS Web 服务的冲突错误消息

android - 如何在 API 调用中转义特殊字符?

java - 需要帮助查找异常 "javax.xml.bind.UnmarshalException - with linked exception:"

java - JAX-RS:解析服务器上链接资源的 URI

java - RESTful 服务器中的@Path 正则表达式