有没有简单的方法可以在JAX-RS Web服务中提供不区分大小写的URL?这样做的目的是产生一个Web服务,它是一个“宽大的接受者”。
我想可以用.to[Lower|Upper]Case()
过滤所有传入URL的过滤器来做到这一点。不幸的是,此实现要求程序员严格遵守/保持一致,以确保应用程序中所有硬编码的URL字符串都严格使用小写。
另外,我还不知道servlet过滤器的JAX-RS类似物。
如果重要的话,我正在使用Jersey作为我的JAX-RS实现。
1如“宽容所接受,严格生产”(不记得出处)
最佳答案
答案是否定的,因为基本上根据RFC 3986的URI区分大小写:
如果仍然要使它们不区分大小写,则可以使用servlet过滤器并将其放在JAX-RS框架的前面。您仍然需要在您的应用程序中保持一致。
如果您考虑从Jersey切换到Apache Wink,则可以使用Dynamic Resources来确保所有URL都是小写/大写。因此,将Servlet过滤器与动态资源结合起来可以成为这种情况的完整解决方案。