JPA

[JPA] 4. GET 방식과 URL 주소 설계

Song hyun 2024. 9. 26. 15:42
728x90
반응형

[JPA] 4. GET 방식과 URL 주소 설계

 

1. 멱등성이란?

(1) 멱등성의 정의

-멱등성(Idempotency)는 같은 작업을 여러번 수행해도 결과가 달라지지 않는 성질을 일컫는다. 

-이 개념은 HTTP 메서드나 DB 연산에서 자주 사용된다.

 

(2) 멱등성과 HTTP 메서드

-> 멱등성 ㅇ: GET, PUT, DELETE

-> 멱등성 x: POST

 

(3) 멱등성의 의미

-안전성: 멱등성을 가진 연산은 중복 요청에 대해 안전하다.

-데이터 일관성:

 

 

2. 시나리오 코드

package com.tenco.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Map;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;


@RestController // IoC 대상
@RequestMapping("/post")
public class PostApiController {

    // 주소 설계
    // http://localhost:8080/post/demo1
    @PostMapping("/demo1")
    // 사용자가 던진 데이터를 바인딩 처리해야 한다. -> HTTP 메세지 바디에 담겨져 온다.
    public String postMethodName(@RequestBody Map<String, Object> reqData) {
        // POST --> 리소스 취득, 생성 --> DB 접근 기술 --> 영구히 데이터를 저장한다.
        StringBuffer sb = new StringBuffer();
        reqData.entrySet().forEach((entry) -> {
            sb.append(entry.getKey()+"="+entry.getValue());
        });
        
        // 메세지 컨버터가 동작 (리턴 타입 String)
        return sb.toString();
    }
    

}
728x90
반응형