ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2.2.3 REST API || 2.2.4 컨트롤러 레이어
    Spring/웹 개발 101 2022. 4. 7. 00:10
    반응형

    REST는 'Representational State Transfer' 의 약자로 아키텍쳐 스타일을 뜻합니다. 

    * 아키텍쳐 스타일 : 아키텍쳐 디자인                                 *아키텍쳐 패턴 : 반복되는 문제 상황을 해결하는 도구

     

     

    REST 제약조건

    • 클라이언트-서버
    • 상태가 없는
    • 캐시되는 데이터
    • 일관적인 인터페이스
    • 레이어 시스템
    • 코드-온-디맨드

    *리소스란 REST API가 리턴할 수 있는 모든 것을 의미합니다. EX ) HTML , JSON, IMAGE

     

     


     

    HTTP는  get/post/put/delete/options 등과 같은 메서드와 URI를 이용해 서버에 HTTP 요청을 보낼 수 있다.

     

    GET /test HTTP/1.1
    Host: localhost:8080
    Content-Type: application/json
    Content_Length: 17
    
    {
    	"id":123
        
    }

     

    => 위 코드는 http GET 메서드를 이용해 test라는 리소스를 요청한다는 뜻입니다. 

    1. 자기주소를 제외한 /{리소스} 이해해야함

    2. 이 요청이 어떤 HTTP 메서드를 이용했는지 알아야합니다. 

    3. 그 후 해당 리소싕 hTTP 메서드에 연결된 메서드를 실행해야합니다. 

    *스프링 부트 스타터 웹의 어노테이션을 이용하면 이 연결을 쉽게 할 수 있습니다. 

    package com.example.demo.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("test") //resource
    public class TestController {
    	
    	@GetMapping
    	public String testController()
    	{
    		return "Hello World!";
    	}
    
    }

     

     

     

    test로 접근하여 GET요청
    포스트맨을 이용해 테스팅한 장면

     

     

    @RestController
    @RequestMapping("test") //resource
    public class TestController {
    	
    	@GetMapping("/testGetMappiing")
    	public String testControllerWithPath()
    	{
    		return "Hello World! testGetMapping";
    	}
    
    }

    =>getMapping에서도 URI 경로 지정가능합니다. 

    => 물론, RequestMapping에서도 지정이 가능하구요

     

    반응형

    댓글

Designed by Who.