복붙노트

[SPRING] Spring Restful Jax-RS 주석 지원

SPRING

Spring Restful Jax-RS 주석 지원

나는 class와 web.xml 파일을 가지고있다. 스프링 프레임 워크는 @PATH, @PUT, @Consumes ... 등과 같은 jax-rs 주석을 지원합니까?

다른 말로하면 @RequestMapping 대신 @PATH를 사용할 수 있습니까?

자바:

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) {}
}

을 포함한다.

<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>

해결법

  1. ==============================

    1.아니요, 봄에 javax.ws. * 주석을 사용할 수 없습니다. 봄철 휴식을 취할 수 있습니다. 오히려 쉽습니다. 필요한 경우 예제를 제공 할 수 있습니다. (Jersey와 CXF는 JAX-RS 구현도 훌륭하다.)

    아니요, 봄에 javax.ws. * 주석을 사용할 수 없습니다. 봄철 휴식을 취할 수 있습니다. 오히려 쉽습니다. 필요한 경우 예제를 제공 할 수 있습니다. (Jersey와 CXF는 JAX-RS 구현도 훌륭하다.)

    AFAIK Springsource는 JAX-RS에 구현을 제공 할 생각이 없다. 따라서 JAX-RS에 설명 된 기능을 사용하려면 스프링에서 직접 가져올 수 없습니다. 그러나 봄을 사용하여 나머지 웹 서비스를 개발할 수 있습니다. 그것은 다른 이야기입니다. 그 질문에 대한 의문점이 발견되었습니다.

    아래 PaulNUK의 답변에 따라 답변을 명확히해야합니다. 하루 종일 휴식은 명세이며 누군가 먼저 그것을 구현해야합니다.

    우리가 주석을 대체 할 수 있는지 여부는 분명히 묻습니다. 클래스 패스에 저지와 같은 외부 의존성을 추가하지 않으면 주석을 대체 할 수 없습니다. 이 사례 구현은 Jersey에서 제공합니다.

    따라서 스프링 구현 JAX-RS 주석을 절대로 사용할 수 없습니다.

  2. ==============================

    2.한 클래스에 JAX-RS (Jersey 2 사용) 주석을 넣고 @Component에 주석을 달아 Spring 빈으로 만들면 Spring 종속성 삽입으로 JAX-RS 전체를 지원할 수 있습니다.

    한 클래스에 JAX-RS (Jersey 2 사용) 주석을 넣고 @Component에 주석을 달아 Spring 빈으로 만들면 Spring 종속성 삽입으로 JAX-RS 전체를 지원할 수 있습니다.

    그래서 Spring은 JAX-RS 자체를 구현하여 바퀴를 재발 명하지는 않았지만 예를 들어 Jersey와 매우 쉽게 통합됩니다.

    다음은 간단한 봄 부팅 예제입니다.

    http://spring.io/blog/2014/11/23/bootiful-java-ee-support-in-spring-boot-1-2

  3. ==============================

    3.Spring 프레임 워크 만 사용하여 웹 서비스를 개발하고자한다면 Spring은 Spring MVC를 제공한다. Spring MVC에는 고유 한 주석 세트가있다. 예 : "@RequestMapping". Spring MVC는 JAX-RS 원칙을 고수하지도 않는다.

    Spring 프레임 워크 만 사용하여 웹 서비스를 개발하고자한다면 Spring은 Spring MVC를 제공한다. Spring MVC에는 고유 한 주석 세트가있다. 예 : "@RequestMapping". Spring MVC는 JAX-RS 원칙을 고수하지도 않는다.

    "JAX-RS"를 지원하고 Spring과 통합 될 수있는 다양한 오픈 소스 프레임 워크 (Jersey와 같은)가 있습니다.

    그러나 Spring MVC와 Jersey를 비교하고 싶다면 아래의 비교가 필요하다. 스프링 MVC는 원래 웹 서비스를위한 것이 아니라 UI 애플리케이션을위한 것이므로 SPring MVC를 통해 Jersey를 개인적으로 지원합니다.

    HTH ...

  4. from https://stackoverflow.com/questions/25543692/spring-restfull-jax-rs-annotation-support by cc-by-sa and MIT license