在 Spring 中创建 RestFul Web 服务的方法?

Approach for creating RestFul web services in Spring?

我想使用 Spring 开发 RestFul 网络服务。当我用谷歌搜索时,我发现它可以通过两种方式完成。一种方法是使用 Spring 自己的 Spring MVC,另一种方法是使用为 Spring 提供支持的 Jersey(或任何其他 JAX-RS 实现)。我想知道哪种方法更好。

JAX-RS 规范固有的简洁性值得一提。 Spring MVC 方法就足够了,而 JAX-RS 仅针对实现 REST API。 Spring MVC 并不是为了这个目的单独和个人而构建的,我认为它表明了这一点。有时它可能有点冗长或令人困惑。

例如,如果您在 Spring MVC REST 控制器上省略了一个方法,Spring MVC 会愉快地假定您希望此端点可用于所有 HTTP 方法。出于 MVC 的目的,这可能没问题,但对于 REST,则不然。而且,如果将方法添加到 @RequestMapping 中,您突然无法使用简洁的表示法,需要在表示法上显式声明值参数。为端点设置显式 MIME 类型也是如此。

目前,我还没有发现 Spring MVC 可以为 REST 做 JAX-RS 做不到的事情。

P.S。这是开发商的选择。从技术上讲,一个人可以用两者构建相同的 Web 服务。