ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 요청 매핑하기 - 요청 메소드
    백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 25. 11:50
    반응형

    HTTP Method

    • GET
    • POST
    • PUT
    • PATCH
    • DELETE

    GET 요청

    • 클라이언트가 서버의 리소스를 쵸어할 때 사용
    • 캐싱할 수 있다(조건적인 GET으로 바뀔 수 있다)
    • 브라우저 기록에 남는다
    • 북마크 할 수 있다
    • 민감함 데이터를 보낼 때 사용하지 않는다(URL에 존재)
    • imdempotent
      • 먹등성
        • 여러번 요청을 하더라도 결과가 달라지지 않는 성질

     

    POST 요청

    • 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용
    • 서버에 보내는 데이터를 POST 요청 본문에 담는다
    • 캐시할 수 없다
    • 브라우저 기록에 남지 않는다
    • 북마크 할 수 없다
    • 데이터 길이 제한이 없다.
    • URI를 보내는 데이터를 처리할 리소스를 지칭

     

    PUT 요청

    • URL에 해당하는 데이터를 새로 만들거나 수정할 때 사용
    • POST와 다른점은 "URI"에 대한 의미가 다르다
      • POST의 URI는 보대는 데이터를 처리할 리소스를 지칭
      • PUT의 URI는 보내는 데이터에 해당하는 리소스를 지칭
    • Idempotent

     

    PATCH 요청

    • PUT과 비슷하지만, 기존 엔티티와 새 데이터의 차이점만 보내는 차이
    • Idempotent

     

    DELETE 요청

    • URI에 해당하는 리소스를 삭제할 때 사용
    • Idempotent

     

    스프링 웹 MVC에서 HTTP method 매핑

    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class SampleController {
    
    	@GetMapping("/getMapping")
    	public String getMapping() {
    		return "getMapping";
    	}
    
    	@PostMapping("/poostMapping")
    	public String xmlMessage() {
    		return "poostMapping";
    	}
    
    	@RequestMapping(value = "/getrequestMapping", method = RequestMethod.GET)
    	public String getrequestMapping() {
    		return "getrequestMapping";
    	}
    
    	@RequestMapping(value = "/postrequestMapping", method = RequestMethod.POST)
    	public String postrequestMapping() {
    		return "postrequestMapping";
    	}
    
    	@RequestMapping(value = "/sumrequestMapping", method = { RequestMethod.POST, RequestMethod.GET })
    	public String sumrequestMapping() {
    		return "sumrequestMapping";
    	}
    
    }
    @RunWith(SpringRunner.class)
    @WebMvcTest
    public class SampleControllerTest {
    
    	@Autowired
    	MockMvc mockMvc;
    
    	@Test
    	public void helloTest() throws Exception{
    		mockMvc.perform(get("/getMapping"))
    			.andDo(print())
    			.andExpect(status().isOk());
    		
    		mockMvc.perform(post("/poostMapping"))
    		.andDo(print())
    		.andExpect(status().isOk());
    		
    		mockMvc.perform(get("/getrequestMapping"))
    		.andDo(print())
    		.andExpect(status().isOk());
    		
    		mockMvc.perform(post("/postrequestMapping"))
    		.andDo(print())
    		.andExpect(status().isOk());
    		
    		mockMvc.perform(get("/sumrequestMapping"))
    		.andDo(print())
    		.andExpect(status().isOk());
    			
    	}	
    }
    

     

     

     

    참고

     

    반응형

    '백기선(인프런 강의) > 스프링 웹 MVC' 카테고리의 다른 글

    HTTP 요청 매핑하기 - URI 패턴 매핑  (0) 2020.09.25
    HTTP 메시지 컨버터 : XML  (0) 2020.09.19
    HTTP 메시지 컨버터  (0) 2020.09.07
    리소스 핸들러  (0) 2020.09.07
    핸들러 인터셉터  (0) 2020.09.06
Designed by Tistory.