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
'📒 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