Ahm*_*aya 15 java rest spring jax-rs
我有以下class和web.xml文件.春天在什么框架支持JAX-RS注解,例如@PATH,和@PUT,@Consumes...等.
换句话说,我可以用@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) {}
}
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
Mal*_*ana 11
不,你不能javax.ws.*在春天使用注释.你可以使用像resteasy春天这样的东西.这很容易.如果您需要我可以提供一个例子.(Jersey和CXF也有很好的JAX-RS实现.)
AFAIK Springsource不知道为JAX-RS提供实现.因此,如果您想使用JAX-RS中描述的功能,您将无法直接从spring获得它.但是您可以使用spring开发休息Web服务.那是一个不同的故事.在SO上发现了一个问题.
根据PaulNUK的答案,我需要澄清我的答案.休息日结束是一个规范,有人需要首先实现它.
问题清楚地问道,我们是否可以替换注释,你不能这样做,除非你在类路径中添加像Jersey这样的外部依赖.该案例实施由泽西岛提供.
因此,您永远无法使用Spring实现的JAX-RS注释.
只需将JAX-RS(我使用Jersey 2)注释放在类上,使用@Component注释该类以使其成为Spring bean,并且您可以使用Spring依赖注入完全支持JAX-RS.
所以Spring并没有通过实现JAX-RS本身来重新发明轮子,但是很容易与Jersey集成.
这是一个简单的Spring启动示例:
http://spring.io/blog/2014/11/23/bootiful-java-ee-support-in-spring-boot-1-2
| 归档时间: |
|
| 查看次数: |
17334 次 |
| 最近记录: |