꿈틀꿈틀 개발일기

20231227 / Todolist

by jeongminy

 

Todolist 과제 질문에 답해보았다.

 

1. 수정, 삭제 API의 request를 어떤 방식으로 사용 하셨나요? (param, query, body)
* pram은 @PathVariable어노테이션을 사용하여 데이터를 받아와서 특정 id를 파라미터로 전달받아 수정하거나 삭제하는 작업을 하는데 사용했습니다.
* body는 @RequestBody어노테이션을 사용하여 데이터를 받아와서 클라이언트로부터 받은 데이터를 UpdateTodocardRequest 객체로 변환하여 사용했습니다.

2. RESTful한 API를 설계하셨나요? 어떤 부분이 그런가요? 어떤 부분이 그렇지 않나요?
: 리소스를 URI로 사용하면서, HTTP 메소드를 통해 Verb에 대해서도 표현할 예정입니다.

3. 적절한 관심사 분리를 적용하셨나요? (Controller, Service, Repository)
: 크게 todocard, comment, user로 나누었고 각각에는 controller, dto, model, service, repository로 관심사 분리를 적용했습니다.

4. API 명세서 작성 가이드라인을 검색하여 직접 작성한 API 명세서와 비교해보세요!
: 아래 API명세서를 작성해 보았다.

 

 

 

 

ERD 도 만들어봤다.

https://www.erdcloud.com/d/oonQaj7LoHog2py5Y

틀리지 않고 제대로 만든건지는 잘 모르겠다 ^^;;

 

 

 

Todolist를 만들며 공부한 내용

 

 

@RestController: 해당 클래스 내의 메서드들이 REST API의 요청을 처리하는 역할을 한다는 것을 의미

@RequestMapping: 매핑할 url 지정

@PathVariable
- 경로 변수(URI의 경로 부분에 포함된 값)를 추출하는 데 사용됨.
- @PathVariable 어노테이션을 사용하여 경로 변수를 메서드의 파라미터로 전달할 수 있음
- 컨트롤러 메서드에서 경로변수를 사용할 수 있게 됨.

@RequestBody
- 클라이언트가 보내는 HTTP 요청의 본문을 서버가 이해할 수 있는 자바 객체로 변환해 줌. (번역기 같은 느낌)
- 이를 통해 JSON 형식의 데이터나 XML 등을 자바 객체로 변환하여 사용할 수 있음.


REST API의 요청: 클라이언트가 서버에게 특정 동작을 요청하는 것 / 주로 HTTP 메서드를 사용하여 표현
HTTP 메서드: 웹 상에서 클라이언트와 서버 간에 통신할 때 사용되는 메서드 / GET, POST, PUT, DELETE 등

REST API
- REST API의 요청은 일반적으로 요청 URL(URI)과 함께 필요한 파라미터 또는 요청 본문에 데이터를 담아 서버로 전송 됨.
- 서버는 이러한 요청을 받아서 해당 요청에 맞는 동작을 수행하고, 클라이언트에게 응답을 반환함.
- 응답은 주로 HTTP 상태 코드와 함께 데이터를 포함할 수 있음.

ResponseEntity
- Spring에서 HTTP Response의 상태 코드, 헤더 및 본문을 가진 클래스 이다. (client에게 줄 데이터 상자ㅎㅎ)
- 우리가 보내고자 하는 정보(데이터)와 함께 이 정보를 어떻게 전달할지에 대한 방법(헤더, 상태 코드)등이 들어 있을 수 있음.
- 응답의 본문 뿐만 아니라 상태 코드, 헤더 등의 세부적인 설정도 가능하므로, 클라이언트에게 보다 상세한 응답을 제공할 수 있음.

*UserResponse에는 password를 넣으면 안됨.

 

 

 

Todolist Github

https://github.com/jeongminy/todolist

 

GitHub - jeongminy/todolist

Contribute to jeongminy/todolist development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

 

'📒 TIL - Today I Learned' 카테고리의 다른 글

20240102 / Todolist 피드백  (0) 2024.01.02
20231228 / 흘려 듣지 않기  (0) 2023.12.28
20231226 / 오늘은 뭔가  (2) 2023.12.26
20231225 / 주말공부!  (0) 2023.12.26
20231223 / 이번 주말은 ㅈㅂ  (0) 2023.12.23

블로그의 정보

꿈틀꿈틀 개발일기

jeongminy

활동하기