我强烈建议阅读 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 应用程序进行通用错误处理。
至于在接受标头上进行过滤,这很容易做到,因为 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
)