gpt4 book ai didi

java - Spring Restfull Jax-RS 注释支持

转载 作者:IT老高 更新时间:2023-10-28 13:53:50 24 4
gpt4 key购买 nike

我有以下类和 web.xml 文件。 spring框架是否支持@PATH@PUT@Consumes...等jax-rs注解?

换句话说,我可以使用 @PATH 代替 @RequestMapping

Java:

import org.springframework.stereotype.Controller;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;

@Controller
@Path("/register")
public class RegisterServices {
@PUT
@Path("/create")
@Consumes(MediaType.APPLICATION_JSON)
@Produces({"application/json"})
public Response create(@Context HttpServletRequest requestContex,
@HeaderParam("Authorization") String authorization,
String xMsisdn, String param) {}
}

web.xml

    <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>

<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

最佳答案

不,你不能在 spring 中使用 javax.ws.* 注释。你可以在 spring 中使用类似 resteasy 的东西。这很容易。如果你需要我可以提供一个例子。 (Jersey 和 CXF 也有很好的 JAX-RS 实现。)

AFAIK Springsource 不知道为 JAX-RS 提供实现。因此,如果您想使用 JAX-RS 中描述的特性,您将不会直接从 spring 中获得它。但是你可以使用 spring 开发一个 REST Web 服务。那是一个不同的故事。一个 question是在那上面找到的。

更新

根据下面 PaulNUK 的回答,我需要澄清我的回答。一天结束的休息是一个规范,首先需要有人来实现它。

问题清楚地问,我们是否可以替换注释,你不能这样做,除非你在你的类路径中添加像 Jersey 这样的外部依赖。该案例的实现由 Jersey 提供。

因此,您永远无法使用 spring 实现的 JAX-RS 注解。

关于java - Spring Restfull Jax-RS 注释支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com