도슐랭스타
ReadingRecordController 생성, get/post Test 본문
사용자가 요청을 처리함
[사용자 클릭] → [Controller] → [Service] → [Repository] → [DB 저장]
ReadingRecordController.java
package me.dodo.readingnotes.controller;
import me.dodo.readingnotes.domain.ReadingRecord;
import me.dodo.readingnotes.service.ReadingRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/records")
public class ReadingRecordController {
private final ReadingRecordService service;
@Autowired
public ReadingRecordController(ReadingRecordService service) {
this.service = service;
}
// 1. 기록 저장
@PostMapping
public ReadingRecord save(@RequestBody ReadingRecord record){
return service.saveRecord(record);
}
// 2. 전체 조희
@GetMapping
public List<ReadingRecord> getAll(){
return service.getAllRecords();
}
// 3. ID로 조회
@GetMapping("/{id}")
public ReadingRecord getById(@PathVariable Long id){
return service.getRecord(id);
}
// 4. 삭제
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id){
service.deleteRecord(id);
}
}
여기서 사용하는 어노테이션
@RestController - 웹 요청을 처리하는 Controller임을 나타냄
@RequestMapping("/records") - /records로 시작하는 요청 처리
@Autowired - Service를 자동으로 주입해 줌.
@PostMapping, @GetMapping, @DeleteMapping - 각각 POST, GET, DELETE 요청을 처리
@RequestBody - JSON으로 들어온 데이터를 자바 객체로 변환
@PathVariable - URL 경로의 {id} 값을 변수로 받음
@Autowired
Spring이 관리하는 객체(Bean)를 자동으로 주입해줌.
어떤 걸 주입할 수 있나?
Spring이 관리하는 거면 전부 가능해!
대상 | 예시 |
Repository | ReadingRecordRepository |
Service | ReadingRecordService |
Component | @Component 붙은 클래스 |
Configuration | 설정 클래스 |
Get/Post Test
postman으로 테스트
오 잘 되는군.
getRecord(1)
잘된다!!
반응형
'Spring Boot project' 카테고리의 다른 글
H2 DB 설정 (0) | 2025.04.14 |
---|---|
DTO 클래스 생성 Request, Response (1) | 2025.04.13 |
ReadingRecordService 생성 (0) | 2025.04.11 |
ReadingRecordRepository 생성 (0) | 2025.04.10 |
ReadingRecord 엔티티 생성 (0) | 2025.04.09 |
Comments