티스토리 뷰

@RestController

  • RestController의 주용도는 Json/Xml 형태로 객체 데이터를 반환하는 것이다.

  • 주로 RestAPI Control Class에 선언한다.

  • RestController가 선언된 클래스의 내부 함수들은 return 값이 Json/Xml 형식으로 자동 변환되어 반환된다.
    샘플

    @RestController
    public class HotelController extends AbstractRestHandler {

@RequestMapping

  • REST API 호출 시 작성된 URL 의 method 값에 따라 맵핑 시켜준다.

  • RestController이 선언된 클래스의 내부 함수 상단에 선언해준다.
    샘플

      @RequestMapping(value = "",
              method = RequestMethod.POST,
              consumes = {"application/json", "application/xml"},
              produces = {"application/json", "application/xml"})

    consumes

    • consumes는 Content-Type이 consumes에 명시한 media-type과 같아야한다.
      샘플
    curl -XPOST "localhost:8080/test" -H "Content-Type:application/json"

    content-type

    • content-type은 client가 보내는 content의 타입이다.

    produces

    • produces는 Accet Header가 produces에 명시한 Media Type과 같을때에 해당 Type으로 response를 보내준다

    accept

    • accept는 client가 backend 서버에게 어떤 형식(Media Type)으로 달라고 하는 요청의 방식 (ex. JSON 방식으로 주세요 => Accept:application/json)
      샘플
    curl -XGET "localhost:8080/test" -H "Accept:application/json"

    출처 : http://blog.naver.com/PostView.nhn?blogId=writer0713&logNo=221422059349&parentCategoryNo=&categoryNo=83&viewDate=&isShowPopularPosts=false&from=postView

@ResponseStatus

  • ResponseStatus는 부여된 메소드(함수)의 응답 상태 코드를 지정할 수 있다. (ex. 200 OK, 201 Created, 202 Accepted 등)

  • 아무것도 지정하지 않으면 200 OK가 반환되다.
    샘플

    @RestController
    @RequestMapping("/hello")
    public class HelloController {
    
      @RequestMapping(method=RequestMethod.GET)
      @ResponseStatus(HttpStatus.BAD_REQUEST)
      public void getMethod() {
      }
    }

    출처 : http://www.devkuma.com/books/pages/474

@RequestBody

  • HTTP로 받은 Body 데이터를 자바 객체로 받기 위하여 사용
    샘플

    @RestController
    public class LoginWebController 
    {
    
      // HTTP 요청의 내용을 Member 객체에 매핑하기위해 @RequestBody 애너테이션을 설정한다.
      @RequestMapping(value="/member/login", method = RequestMethod.POST)
      public MemberResultDto login(@RequestBody Member member) 
      {
      MemberResultDto memberResultDto = memberService.login(member); 
      return memberResultDto;
    
      }
    }

    출처 : https://codelib.tistory.com/24

@ApiParam

  • ApiParam은 멤버 변수에 대한 설명 및 다양한 설정을 지원합니다.

    value

    • 저장되야할 값에 대한 설명을 명시합니다.

    required

    • 필수 여부를 지정합니다.
      샘플
    @ApiParam(value = "member age", required = true)
      private int age;

    출처 : https://bamdule.tistory.com/36

@RequestParam

  • HTTP를 통하여 받아온 데이터를 단일 파라미터 변환 해준다.
    샘플

    @RequestParam(value = "page", required = true, defaultValue = DEFAULT_PAGE_NUM)
    Integer page;

    value

    • HTTP를 통하여 넘어온 쿼리 스트링의 Key값

    required

    • 필수로 사용 여부 true=필수사용, false=사용하든 안하든 상관없음

    defaultValue

    • HTTP에서 해당 Key로 넘어온 값이 없다면 들어갈 기본값
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함