POST 생성
post방식으로 /api/courses 주소로 오면 createCourse 메소드가 실행된다. createCourseprivate final CourseService courseService; // PostMapping을 통해서, 같은 주소라도 방식이 다름을 구분합니다. @PostMapping("/api/courses") public Course createCourse(@RequestBody CourseRequestDto requestDto) { // requestDto 는, 생성 요청을 의미합니다. // 강의 정보를 만들기 위해서는 강의 제목과 튜터 이름이 필요하잖아요? // 그 정보를 가져오는 녀석입니다. // 저장하는 것은 Dto가 아니라 Course이니, Dto의 정보를 course에 담아야 합니다. // 잠시 뒤 새로운 생성자를 만듭니다. Course course = new Course(requestDto); // JPA를 이용하여 DB에 저장하고, 그 결과를 반환합니다. return courseRepository.save(course); }
Course 클래스 생성자 추가
public Course(CourseRequestDto requestDto) { this.title = requestDto.getTitle(); this.tutor = requestDto.getTutor(); }
이런 느낌 !
POST의 요청 방식(ARC)
- HEADERS: 정보를 같이 보낸다
- Header name: Content-type
-> 나 지금부처 데이터 같이 보낼 건데 그 녀석의 타입은 (아래)- Parameter value: application/json
->json이 인터넷에서 데이터가 왔다 갔다 하는 대중적인 형태이기 때문이다.- BODY
- Body content type: application/json
-> Headers에서 이미 해놔서 자동으로 뜬다- Editor: 우리가 생성할 데이터를 전달해준다.
{ 필요한 데이터를 쓰기. "title": "앱개발 종합반", "tutor": "김건희" }
값
{ "id": 2, "title": "앱개발 종합반", "tutor": "김건희" }