목록분류 전체보기 (796)
코드 그라데이션
Controller UserController @RequiredArgsConstructor @RestController @RequestMapping("/api") public class UserController { private final UserService userService; /** * 사용자 등록을 처리하는 엔드포인트. * * @param userDto 등록할 사용자 정보를 포함한 UserDto 객체 * @return ResponseEntity 등록된 사용자 정보를 포함한 ResponseEntity */ // 여기 변경 @PostMapping("/signup") public ResponseEntity signup(@Valid @RequestBody UserDto userDto) { return..
DTO ErrorDto package inflearn.freejwt.dto; import org.springframework.validation.FieldError; import java.util.ArrayList; import java.util.List; // ErrorDTO 클래스는 API 또는 웹 애플리케이션에서 예외 또는 오류 정보를 표현하는 데 사용됩니다. public class ErrorDto { // 상태 코드를 나타내는 변수. HTTP 상태 코드와 관련이 있으며, 클라이언트에게 반환됨. private final int status; // 클라이언트에게 오류의 원인을 설명하는 데 사용. private final String message; // 필드 오류(FieldError) 객체들을 저장하..
MethodArgumentNotValidExceptionHandler package inflearn.freejwt.handler; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.http.HttpStatus; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springf..
Entity User @Entity @Table(name = "user") @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstructor public class User { @JsonIgnore @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "user_id") private Long userId; @Column(name = "username", length = 50, unique = true) private String username; @JsonIgnore @Column(name = "password") private String password; @Column(name ..
UserController package inflearn.freejwt.controller; import inflearn.freejwt.dto.UserDto; import inflearn.freejwt.entity.User; import inflearn.freejwt.service.UserService; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.V..
DTO LoginDto package inflearn.freejwt.dto; import lombok.*; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor public class LoginDto { @NotNull @Size(min = 3, max = 50) // 유효성 검사 private String username; @NotNull @Size(min = 3, max = 100) private String password; } UserDto package inflearn.freejwt..
SecurityConfig.java package inflearn.freejwt.config; import inflearn.freejwt.jwt.JwtAccessDeniedHandler; import inflearn.freejwt.jwt.JwtAuthenticationEntryPoint; import inflearn.freejwt.jwt.JwtSecurityConfig; import inflearn.freejwt.jwt.TokenProvider; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.m..
build.gradle에 jwt 관련 코드를 추가 plugins { id 'java' id 'org.springframework.boot' version '2.4.1' // Spring Boot 버전을 2.4.1로 변경 id 'io.spring.dependency-management' version '1.0.10.RELEASE' // Spring Dependency Management 버전 변경 } group = 'inflearn' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } ..