>  기사  >  Java  >  Maven을 기반으로 Jersey REST 서비스 만들기

Maven을 기반으로 Jersey REST 서비스 만들기

巴扎黑
巴扎黑원래의
2017-06-23 13:58:031694검색
  • Java 기반SE REST 서비스 형식

  • 프로젝트 생성

    우리는 org.glassfish.jersey.archetypes에 대해 ArchetypeGroupId를 사용하는 것을 선호합니다. , ArchetypeArtifactId는 Jersey-입니다. Quickstart -grizzly2 프로토타입, REST 서비스 프로젝트 생성, IDEA를 사용하여 다음과 같이 프로젝트를 생성합니다.

    OK을 클릭한 후 원본 모델을 사용하여 프로젝트.

  • 서비스 실행

    프로젝트가 생성된 후 원래 모델은 기본적으로 REST 서비스를 생성했습니다. REST 서비스를 직접 시작하고 프로젝트의 루트 디렉터리에 들어가서 다음 명령을 실행하여 서비스를 빌드하고 시작할 수 있습니다.

    mvn

    package

    mvn

    exec:java은 Enter 키를 눌러 언제든지 중지할 수 있는 REST 서비스를 시작합니다.

    2017년 6월 19일 오후 11:12:23 org.glassfish.grizzly.http.server.NetworkListener start

    정보: [localhost:8080]

    에 바인딩된 리스너가 시작되었습니다. 2017년 6월 19일 11:12 :23 PM org.glassfish.grizzly.http.server.HttpServer start

    Information: [HttpServer] Started.

    Jersey 앱은 WADL로 시작되었으며 http://localhost:8080/myapp/application.wadl에서 사용할 수 있습니다. Hit hit inter to that it… ㅋㅋㅋ

    >

                         

    ㅋㅋㅋ

    >​​                                          ~ >

    "텍스트/일반"

    /> & & Lt;/응답 & gt;

    & lt;/method & lt;/resource & gt;

    & lt;/resources & gt;

    서비스에 액세스하려면

    http://localhost:8080/myapp/myresource에 액세스하여 REST 서비스에 직접 액세스할 수 있습니다. REST 서비스에 직접 액세스하면 알겠습니다! 출력됩니다.

  • 프로젝트 설명

    서비스를 시작하는 명령mvnexec:java, 이 명령은 실제로 exec-maven-plugin 플러그인에서 정의한 목표를 java 값으로 호출하여 mainClass의 기본 기능을 트리거합니다. 플러그인 구성은 다음과 같습니다. ~       plugin             

    ㅋㅋㅋ ~ 목표>

                                                                                                                ions>

    mainClass>org.drsoft.rest.Main

    + >

    @Path("myresource")

    공개 클래스 MyResource {

    ㅋㅋ        문자열 getIt() {

    "알았어!";;

    }}

    휴식 서비스 단위 테스트 클래스 MyRSourceTest 단위 테스트 클래스의 경우 단위 테스트를 수행하기 전에 서비스를 시작해야 하며 Jersey

    Client에 정의된 메서드를 사용하여 REST 서비스를 호출합니다.

    공개 수업 MyResourceTest {

                                                           > 코드는 다음과 같습니다: ​​​​​​​private WebTarget 대상

                                                                 서버

           server = Main.startServer();

                   // 클라이언트 만들기

                   클라이언트 c = ClientBuilder.newClient();

       

                   //

                   // 클라이언트에서 JSON 지원을 활성화하려면 다음 줄의 주석 처리를 제거하세요(또한 주석 처리를 제거해야 합니다

                    // 저지 의존도 -pom.xml 및 Main.startServer()의 media-json 모듈)

                  // --

                  // ation().enable(새로운 org.glassfish .jersey.media.json.JsonJaxbFeature());

       

                   target = c.target(Main.BASE_URI);

            }

       

            @After

            publicvoidtearDown() throws 예외 {

                   server.stop();

            }

       

            @Test

            publicvoidtestGetIt() {

                    String responseMsg = target.path("myresource").request() .get(String.class);

    + > org.glassfish.jersey.archetypes의 ArchetypeGroupId 및 Jersey-quickstart-의 ArchetypeArtifactId WebAppl은 REST Service 프로젝트를 만들려면 다음과 같이 프로젝트를 만듭니다. 주요 기능이 없으므로 이를 실행하려면 서블릿 컨테이너에 배포해야 합니다. IDEA 구성은 다음과 같습니다. 메뉴에서 오픈형식으로

    Tomcatservice 구성을 추가하고 Tomcat의 설치 디렉터리를 지정하고 현재 사이트 이름 배포를 위한 가상 디렉터리를 다음과 같이 설정합니다.

  • 확인을 클릭하면 서블릿 컨테이너가 구성되고 서비스를 실행할 수 있습니다

  • 서비스에 액세스

    서비스가 시작된 후 http에 액세스할 수 있습니다. ://localhost :8080/RESTWebAPP/webapi/myresource REST 서비스를 호출하면 Got it!

    프로젝트 설명

  • 이 출력됩니다.

    웹 루트 디렉토리의 이름은 webapp이고, 기본 서블릿 컨테이너 버전은 2.5이며, WEB-INF/web.xml 파일은 REST 서비스를 구성하기 위해 구성됩니다.

    version="1.0"encoding="UTF-8"?>

    <-- 이거요! Servlet 3.0 컨테이너를 사용하는 경우 web.xml 파일이 필요하지 않습니다.

    구현 세부 정보 보기 -->

    version="2.5"xmlns="http ://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http ://java.sun.com/xml/ns/javaee"                               -name>Jersey 웹 애플리케이션

                                                                       t;param-name>jersey.config.server.provider.packages

    ~                 <시작 시 로드>

    1

            

            

                    Jersey 웹 애플리케이션

                   /webapi/*

            

      

위 내용은 Maven을 기반으로 Jersey REST 서비스 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.