REST资源版本控制的最佳实践是将版本信息放入HTTP请求的Accept/Content-Type标头中,使URI保持不变.
以下是用于检索系统信息的REST API示例请求/响应:
==>
GET /api/system-info HTTP/1.1
Accept: application/vnd.COMPANY.systeminfo-v1+json
<==
HTTP/1.1 200 OK
Content-Type: application/vnd.COMPANY.systeminfo-v1+json
{
“session-count”: 19
}
Run Code Online (Sandbox Code Playgroud)
请注意,MIME类型中指定了版本.
这是版本2的另一个请求/响应:
==>
GET /api/system-info HTTP/1.1
Accept: application/vnd.COMPANY.systeminfo-v2+json
<==
HTTP/1.1 200 OK
Content-Type: application/vnd.COMPANY.systeminfo-v2+json
{
“uptime”: 234564300,
“session-count”: 19
}
Run Code Online (Sandbox Code Playgroud)
有关更多说明和示例,请参见http://barelyenough.org/blog/tag/rest-versioning/.
是否有可能在基于Java的JAX-RS实现中轻松实现此方法,例如Jersey或Apache CXF?
目标是让几个@Resource类具有相同的@Path值,但是根据MIME类型中指定的实际版本提供请求?
我一般都研究过JAX-RS,特别是Jersey,并没有发现它的支持.泽西岛没有机会以相同的路径注册两个资源.需要实现WebApplicationImpl类的替换以支持它.
你能提出什么建议吗?
注意:需要同时提供同一资源的多个版本.新版本可能会引入不兼容的更改.
我知道可以将文本附加到线路径然后旋转它,但我特别感兴趣的是沿着曲线绘制文本.像http://www.w3.org/TR/SVG11/images/text/toap02.svg这样的东西
我明白这可以通过逐字打印文本以及应用于每个项目的相应旋转来实现,但我感兴趣的是在paper.js中更容易实现这一点.
假设我们在网页上有一个覆盖DHTML面板,其中包含顶部占据对话框整个宽度的两个按钮,如下所示:

按钮1和按钮2的文本应该是本地化的.复选框组的内容是静态的,不应本地化.
不同语言的按钮文字宽度之间可能存在很大差异(与英文版相比,大约100%的额外空间).
问题是根据文本内容的长度应用哪种策略来调整Button 1和Button 2的大小:
我倾向于根据找到的几个UI本地化最佳实践使用第三个或第四个选项:
我们仍然在讨论最佳选择的团队中进行一些辩论,听到社区有声的外部声音会很有趣.
我对此特定案例的最佳方法以及解决本地化方面的Web UI大小调整问题的一般准则感兴趣.
谢谢!
canvas ×1
ellipsis ×1
html5 ×1
java ×1
javascript ×1
jax-rs ×1
jersey ×1
localization ×1
paperjs ×1
rest ×1
versioning ×1
web ×1