Skip to main content

Spring MVC 2

1. CRUD API

CRUD는 대부분의 소프트웨어가 가지는 기본적인 데이터 처리 기능으로, Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 의미하는 말입니다. 리소스를 관리하는 일반적인 API를 만들 때 역시 CRUD 기능을 구현합니다.

2. create

리소스 생성을 요청하는 API입니다. 서버에 데이터를 제출하기 위해 POST 메서드를 사용합니다. 리소스 생성 시 필요한 데이터를 json 형태로 body에 담아 요청을 보냅니다.

POST /members HTTP/1.1
content-type: application/json

{
"name": "브라운",
"age": 20
}

요청에 성공하면 201 응답코드를 응답 받습니다. 그리고 Location 헤더에 생성된 리소스의 위치를 담아 응답을 받습니다. 생성된 리소스를 확인할 수 있도록 body에 생성된 리소스를 담아 응답할 수 있습니다.

HTTP/1.1 201 
Location: /members/1
Content-Type: application/json

{
"id": 1,
"name": "브라운",
"age": 20
}

학습 테스트

  • 테스트 메서드: cholog.CRUDTest.create
  • 수행 방법
    • cholog.MemberController.create 을 이용하여 학습 테스트를 성공시키세요.

참조

3. read

리소스 조회를 요청하는 API입니다. 서버에 리소스의 정보를 검색하기 위해 GET 메서드를 사용합니다.

GET /members HTTP/1.1

요청에 성공하면 200 응답코드를 응답 받습니다. 조회된 정보를 body에 담아 응답할 수 있습니다.

HTTP/1.1 200 
Content-Type: application/json

[
{
"id": 1,
"name": "브라운",
"age": 20
},
{
"id": 2,
"name": "브리",
"age": 10
}
]

학습 테스트

  • 테스트 메서드: cholog.CRUDTest.read
  • 수행 방법
    • cholog.MemberController.read 을 이용하여 학습 테스트를 성공시키세요.

4. update

리소스 수정을 요청하는 API입니다. 리소스를 대체하기 위해 PUT 메서드를 사용합니다. PATCH를 이용할 수 있으나 전체 리소스를 대체하기 위해 PUT을 사용합니다. 수정할 리소스의 식별자를 url path에 포함해서 요청을 보냅니다. body 값에는 수정할 정보를 담아서 보냅니다.


PUT /members/1 HTTP/1.1

{
"name": "브라운",
"age": 30
}

요청에 성공하면 200 응답코드를 응답 받습니다.

HTTP/1.1 200

학습 테스트

  • 테스트 메서드: cholog.CRUDTest.update
  • 수행 방법
    • cholog.MemberController.update 메서드를 작성하여 학습 테스트를 성공시키세요.

참조

5. delete

리소스 삭제를 요청하는 API입니다. 리소스를 삭제하기 위해 DELETE 메서드를 사용합니다. 삭제할 리소스의 식별자를 url path에 포함해서 요청을 보냅니다.

DELETE /members/1 HTTP/1.1

요청에 성공하면 204 응답코드를 응답 받습니다.

HTTP/1.1 204

학습 테스트

  • 테스트 메서드: cholog.CRUDTest.delete
  • 수행 방법
    • cholog.MemberController.delete 메서드를 작성하여 학습 테스트를 성공시키세요.