我珍玩,如果任何人都可以点我一个很好的例子组织REST API代码版本的/最佳实践(URI为基础,意味着“/ V1 / ZZZ”和“/ V2 / XXX”,甚至更好一些依靠接受头) - 用Java / Spring项目? 我怕我在做这在我的项目太复杂,现在,所以这会是很好的向他人学习。
澄清:不知道我是否应该这样做,通过过滤器,然后使用一些设计模式来改变行为,但是这样会让我的过滤器相当复杂..或可我不是想一些技巧与春天和DI,所以我可以让我的代码更加清晰。 最简单的方法是在每一个里面会有不同的版本的一些方法策略模式,但它似乎并没有太干净既不:-(
我强烈建议你阅读的书和博客上Apigee http://offers.apigee.com/api-design-ebook-bw/我发现,它给了我真正实用的建议设计的URL和做错误处理。
http://www.stormpath.com/blog/spring-mvc-rest-exception-handling-best-practices-part-2对如何配置Spring MVC的为RESTful应用做一般性的错误处理一个真正伟大的文章。
至于上接受headrs这是非常容易做到的,因为弹簧让你缩小基于所述过滤器的处理程序方法映射,如在标题=在下面的请求映射滤波。
@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
)
文章来源: Best practices (examples?) on organizing versioned REST API code in Java/Spring project?