-
Notifications
You must be signed in to change notification settings - Fork 3
Description
`package org.project.backend.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.project.backend.dto.LoginRequestDTO;
import org.project.backend.dto.LoginResponseDTO;
import org.project.backend.service.AuthService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@RestController
@RequestMapping("/api/auth")
@requiredargsconstructor
@Api(tags = "Auth API", description = "인증 관련 API") // AuthController 설명 추가
public class AuthController {
private final AuthService authService;
@ApiOperation(value = "로그인", notes = "사용자의 ID와 패스워드를 사용하여 로그인합니다.")
@PostMapping("/login")
public ResponseEntity<LoginResponseDTO> login(
@ApiParam(value = "로그인 요청 데이터", required = true)
@Valid @RequestBody LoginRequestDTO loginRequest) {
// AuthService를 이용하여 로그인 처리
LoginResponseDTO response = authService.login(loginRequest);
return ResponseEntity.ok(response);
}
}
`
설명 :
controller와 DTO에서 Swagger 명세에 대해 다듬을 필요가 있다.
특히 swagger로 테스트할 때, id : "string"과 같은 의미 없는 샘플 데이터가 들어가고 있으며,
id는 auto increment 옵션이 있음에도 불구하고 불필요하게 샘플 데이터로 입력되는 경우가 있다.
또한, name: "홍길동", email: "lsy@naver.com"과 같은 과도한 샘플 데이터를 정리해야 한다.
작업 목표 :
1. swagger 명세 정리 :
- controller 및 DTO에 작성된 Swagger 명세를 개선하여 더 정확하고 실제 테스트에 필요한 정보만 기입되도록 수정한다.
- 각 필드에 대한 적절한 설명을 추가하고 불필요한 예시 데이터를 제거한다.
2. 불필요한 샘플 데이터 제거 :
- id와 같은 auto increment필드에 대한 샘플 데이터 제거한다.
- 과도하게 구체적인 샘플 데이터(홍길동, lsy@naver.com 등) 대신 더 일반적인 설명을 사용하여 불필요한 혼란을 방지한다.
세부 작업 항목 :
- AuthController에 있는 login 메서드의 Swagger 명세 정리했다.
- LoginRequestDTO, LoginResponseDTO에서 불필요한 샘플 데이터 제거 및 명세 정리했다.
- Swagger로 테스트할 때 실제 환경과 일치하는 데이터를 사용할 수 있도록 수정했다.
참고 :
이번 수정 작업의 목적은 Swagger 명세가 더 정확하고 간결하게 유지되도록 하여, 개발 및 테스트 과정에서의 혼란을 줄이는 것이다.