분석 결과를 기반으로 Spring 전환 체크리스트 작성 #2

Open
forge-bot wants to merge 9 commits from forge/E2E-MINIMAX-DEV-001-attempt-1-run-09b17eb7479a into main
Showing only changes of commit 322dcfe5c3 - Show all commits

View file

@ -0,0 +1,59 @@
package com.example.migration.controller;
import com.example.migration.dto.ApiResponse;
import com.example.migration.dto.SampleRequest;
import com.example.migration.dto.SampleResponse;
import com.example.migration.exception.ResourceNotFoundException;
import com.example.migration.service.SampleService;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 샘플 REST 컨트롤러 - Spring Boot 전환 @RestController 사용 예시
*/
@RestController
@RequestMapping("/api/samples")
@RequiredArgsConstructor
public class SampleController {
private final SampleService sampleService;
@GetMapping
public ResponseEntity<ApiResponse<List<SampleResponse>>> getAllSamples() {
List<SampleResponse> samples = sampleService.getAllSamples();
return ResponseEntity.ok(ApiResponse.success(samples));
}
@GetMapping("/{id}")
public ResponseEntity<ApiResponse<SampleResponse>> getSampleById(@PathVariable Long id) {
SampleResponse response = sampleService.getSampleById(id);
return ResponseEntity.ok(ApiResponse.success(response));
}
@PostMapping
public ResponseEntity<ApiResponse<SampleResponse>> createSample(
@Valid @RequestBody SampleRequest request) {
SampleResponse response = sampleService.createSample(request);
return ResponseEntity.status(HttpStatus.CREATED)
.body(ApiResponse.success(response));
}
@PutMapping("/{id}")
public ResponseEntity<ApiResponse<SampleResponse>> updateSample(
@PathVariable Long id,
@Valid @RequestBody SampleRequest request) {
SampleResponse response = sampleService.updateSample(id, request);
return ResponseEntity.ok(ApiResponse.success(response));
}
@DeleteMapping("/{id}")
public ResponseEntity<ApiResponse<Void>> deleteSample(@PathVariable Long id) {
sampleService.deleteSample(id);
return ResponseEntity.ok(ApiResponse.success(null));
}
}