25. JAX-RS로 REST API 서버 구현

2022. 7. 18. 16:27·Java Spring/JSP와 스프링


1️⃣ JAX-RS 설치

pom.xml에 <dependencies> 즉 의존성 설정을 아래처럼 해주자.

<!-- JAX-RS -->
  <dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet</artifactId>
    <version>2.33</version>
  </dependency>
  <dependency>
    <groupId>org.glassfish.jersey.inject</groupId>
    <artifactId>jersey-hk2</artifactId>
    <version>2.33</version>
  </dependency>
  <dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.33</version>
  </dependency>
</dependencies>

2️⃣ 서비스 구현

설정 클래스 생성

JAX-RS 서비스가 톰캣 jwbook의 웹 웹 어플리케이션에서 동작한다.

따라서 JAX-RS 서버 모듈을 톰켓에 등록해줄것이다.

 

src/main/java 에 ch12 패키지를 생성 한후 RestConfig 클래스를 생성해주자.

코드는 아래와 같다.

package ch12;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
import java.util.HashMap;
import java.util.Map;

@ApplicationPath("/api")
public class RestConfig extends Application {
    public Map<String, Object> getProperties() {
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("jersey.config.server.provider.packages", "ch12");
        return properties;
    }
}

ㅎㅇ

  • JAX-RS 와 관련된 패키지는 반드시 javax.ws.rs.*를 사용해야 한다. 위에 import를 보면 알것이다.
  • @ApplicationPath : REST API 서비스 진입점이다.
  • properties.put("jersey. ....", "ch12") : ch12클래스에 REST API를 찾는 설정이다. 속성이름은 정확히 작성해야한다. 
서비스 클래스 생성

여기에선 ch12 클래스만 REST API로 동작하도록 설정했다.

따라서 다른패키지를 사용하면 안된다.

 

생성할 클래스의 이름은 RestApiExample이다.

코드는 아래와 같다.

package ch12;

import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;

@Path("/test")
public class RestApiExample {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHello() {
        return "Hello API Service";
    }

    @POST
    public String sayHello(@QueryParam("msg") String msg) {
        return msg+" API Service";
    }
}

ㅎㅇ

위에서 작성한 RestConfig 클래스에서 진입점을 /api로 설정했다.

따라서 @Path로 추가된 /test를 포함하면 전체 요청 경로는 /api/test가 될것이다.

여기에서도 GET, POST 요청을 구분해서 동작한다.

 

POST의 경우 쿼리 파라미터로 값을 받아오며

이외에도 /api/test/hello 같이 경로형식 파라미터도 처리가능하다.

 

이제 테스트를 해보자.

api/test

 

 

 


[메인으로 돌아가기]

'Java Spring > JSP와 스프링' 카테고리의 다른 글

27. 뉴스 REST API 서버 구현  (0) 2022.07.18
26. Postman으로 REST API 테스트  (0) 2022.07.18
24. 한글 처리 필터 구현  (0) 2022.07.15
23. 리스너 종합  (0) 2022.07.15
22. 필터  (0) 2022.07.15
'Java Spring/JSP와 스프링' 카테고리의 다른 글
  • 27. 뉴스 REST API 서버 구현
  • 26. Postman으로 REST API 테스트
  • 24. 한글 처리 필터 구현
  • 23. 리스너 종합
백고미
백고미
  • 백고미
    백고미의 정신세계
    백고미
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • [ 공지사항 ] (0)
      • 정보 (14)
        • 워프레임 (5)
        • 게임 (3)
        • 군대 (1)
        • 이민 (1)
      • Java Spring (43)
        • JSP와 스프링 (34)
        • Tip (9)
      • Spring boot (1)
        • Tip (1)
      • 직업 정보 (2)
        • 경찰 공무원 (2)
        • AAFES (0)
        • HD GFD (0)
      • 리뷰 (1)
        • 인터넷 (1)
      • Life (2)
        • 운동 (1)
        • 자격증 (1)
      • 소스모드 (27)
        • CSGO (7)
        • CSS (0)
        • HL2DM (2)
        • L4D2 (1)
        • BMS (0)
        • TIP (16)
        • Extension (1)
        • 문법 (0)
      • C# (4)
        • s&box (4)
      • LUA (8)
        • Garry's Mod (8)
      • Resource (11)
        • Player Model (1)
        • Npc Model (1)
        • Weapon Model (2)
        • PropPhyics (6)
        • PropDynamic (1)
        • Texture (0)
        • Animation Texture (0)
        • Overlay (0)
        • Effect Sound (0)
        • Particle (0)
      • 일기장 (1)
        • TRH (4)
        • 스케줄 (1)
        • Els (0)
        • 프로젝트 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • John John한 블로그
  • 공지사항

  • 인기 글

  • 태그

    공찰공무원 필수과목
    병무청가는길
    경기북부 병무청 가는길
    윈도우10 닌자캣
    스쿼트 운동 효과
    경기북부병무지청
    키벨류
    순경 가산점
    경찰 가산점표
    운전면허 종류
    경찰시험 응시 자격
    윈도우10 고양이
    경기북부병무청 망월사
    경기북부 병무청 가는 법
    병무청가는법
    병무청 가는 길
    경찰공무원 선택과목
    경기북부병무청 가는법
    경찰 간부후보생
    원동기장치면허
    병무청 가는 법
    윈도우10 참가자 프로그램
    경찰 공무원 응시 자격
    경기북부병무청 회룡역
    발표 PPT
    경기북부병무청
    경기북부 병무청
    윈도우10 1주년
    경기북부 병무청 가는 길
    경찰공무원 가산점표
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
백고미
25. JAX-RS로 REST API 서버 구현
상단으로

티스토리툴바