ale*_*pro 5 java api rest spring web
我很好奇,如果有人能够指出一个很好的例子/最佳实践来组织REST API代码与版本控制(基于uri,意思是"/ v1/zzz"和"/ v2/xxx",甚至更好的东西依赖于Accept标头) - 在Java/Spring项目中?我担心我现在的项目太复杂了,所以向别人学习会很好.
澄清:不确定我是否应该通过过滤器,然后使用一些设计模式来改变行为,但这将使我的过滤器相当复杂..或者可能是我没有考虑弹簧和DI的一些技巧,所以我可以使我的代码更清洁.最简单的方法是在每种方法中都有一些策略模式,它们会有不同的版本,但它似乎也不太干净:-(
我强烈建议阅读 Apigee 上的书籍和博客http://offers.apigee.com/api-design-ebook-bw/我发现它为我设计网址和进行错误处理提供了非常实用的建议。
http://www.stormpath.com/blog/spring-mvc-rest-exception-handling-best-practices-part-2有一篇非常棒的文章,介绍了如何配置 spring mvc 来对 Restful 应用程序进行通用错误处理。
至于对接受标头进行过滤,这很容易做到,因为 Spring 允许您根据过滤器缩小处理程序方法映射的范围,如下面请求映射中的 headers= 所示。
@RequestMapping(value="/narrow/headers/{name}/{email}/{customerNumber}",
method={RequestMethod.POST,RequestMethod.GET},
headers="Referer=http://localhost:8080/SpringMVC/request-mappings.html")
public ResponseEntity<String> narrowOnHeaders(
@PathVariable("name")String name,
@PathVariable("email") String email,
@PathVariable("customerNumber") Integer customerNumber,
@RequestHeader("Referer") String referer
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4092 次 |
| 最近记录: |