Skip to content

Commit

Permalink
7차 세미나 - springDocs Swagger #15
Browse files Browse the repository at this point in the history
  • Loading branch information
PgmJun committed May 27, 2023
1 parent d2ea153 commit 2d7ed39
Show file tree
Hide file tree
Showing 36 changed files with 106 additions and 96 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar;
package sopt.org.seventhSeminar;

import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar;
package sopt.org.seventhSeminar;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.aws;
package sopt.org.seventhSeminar.aws;


import com.amazonaws.auth.AWSStaticCredentialsProvider;
Expand All @@ -13,9 +13,9 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.fourthSeminar.controller.exception.model.BadRequestException;
import sopt.org.fourthSeminar.controller.exception.model.NotFoundException;
import sopt.org.seventhSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.model.BadRequestException;
import sopt.org.seventhSeminar.controller.exception.model.NotFoundException;
import javax.annotation.PostConstruct;
import java.io.IOException;
import java.io.InputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package sopt.org.fourthSeminar.config;
package sopt.org.seventhSeminar.config;

import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import sopt.org.fourthSeminar.config.resolver.UserIdResolver;
import sopt.org.seventhSeminar.config.resolver.UserIdResolver;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.config.resolver;
package sopt.org.seventhSeminar.config.resolver;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.config.resolver;
package sopt.org.seventhSeminar.config.resolver;

import lombok.RequiredArgsConstructor;
import org.springframework.core.MethodParameter;
Expand All @@ -7,7 +7,7 @@
import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
import sopt.org.fourthSeminar.service.JwtService;
import sopt.org.seventhSeminar.service.JwtService;

import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotNull;
Expand All @@ -26,7 +26,8 @@ public boolean supportsParameter(MethodParameter parameter) {
@Override
public Object resolveArgument(@NotNull MethodParameter parameter, ModelAndViewContainer modelAndViewContainer, @NotNull NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {
final HttpServletRequest request = (HttpServletRequest) webRequest.getNativeRequest();
final String token = request.getHeader("Authorization");
final String token = request.getHeader("Authorization").split(" ")[1];
System.out.println("Authorization = " + request.getHeader("Authorization"));

// 토큰 검증
if (!jwtService.verifyToken(token)) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
package sopt.org.fourthSeminar.config.swagger;
package sopt.org.seventhSeminar.config.swagger;

import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
import io.swagger.v3.oas.annotations.security.SecurityScheme;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@SecurityScheme(
name = "JWT Auth",
type = SecuritySchemeType.HTTP,
bearerFormat = "JWT",
scheme = "bearer"
)
public class SwaggerConfig {

@Bean
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
package sopt.org.fourthSeminar.controller;
package sopt.org.seventhSeminar.controller;

import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import sopt.org.fourthSeminar.aws.S3Service;
import sopt.org.fourthSeminar.config.resolver.UserId;
import sopt.org.fourthSeminar.controller.common.dto.ApiResponse;
import sopt.org.fourthSeminar.controller.dto.request.BoardImageListRequestDto;
import sopt.org.fourthSeminar.controller.dto.request.BoardRequestDto;
import sopt.org.fourthSeminar.controller.exception.Success;
import sopt.org.fourthSeminar.service.BoardService;
import sopt.org.fourthSeminar.service.JwtService;
import sopt.org.seventhSeminar.aws.S3Service;
import sopt.org.seventhSeminar.config.resolver.UserId;
import sopt.org.seventhSeminar.controller.common.dto.ApiResponse;
import sopt.org.seventhSeminar.controller.dto.request.BoardImageListRequestDto;
import sopt.org.seventhSeminar.controller.exception.Success;
import sopt.org.seventhSeminar.service.BoardService;
import sopt.org.seventhSeminar.service.JwtService;

import javax.validation.Valid;
import java.util.List;

@RestController
@SecurityRequirement(name = "JWT Auth")
@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
@RequestMapping("/board")
public class BoardController {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package sopt.org.fourthSeminar.controller;
package sopt.org.seventhSeminar.controller;


import lombok.AccessLevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.GetMapping;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
package sopt.org.fourthSeminar.controller;
package sopt.org.seventhSeminar.controller;


import io.swagger.v3.oas.annotations.Operation;
import lombok.AccessLevel;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.*;
import sopt.org.fourthSeminar.controller.common.dto.ApiResponse;
import sopt.org.fourthSeminar.controller.dto.request.UserLoginRequestDto;
import sopt.org.fourthSeminar.controller.dto.request.UserRequestDto;
import sopt.org.fourthSeminar.controller.dto.response.UserLoginResponseDto;
import sopt.org.fourthSeminar.controller.dto.response.UserResponseDto;
import sopt.org.fourthSeminar.controller.exception.Success;
import sopt.org.fourthSeminar.service.UserService;
import sopt.org.seventhSeminar.controller.common.dto.ApiResponse;
import sopt.org.seventhSeminar.controller.dto.request.UserLoginRequestDto;
import sopt.org.seventhSeminar.controller.dto.request.UserRequestDto;
import sopt.org.seventhSeminar.controller.dto.response.UserLoginResponseDto;
import sopt.org.seventhSeminar.controller.dto.response.UserResponseDto;
import sopt.org.seventhSeminar.controller.exception.Success;
import sopt.org.seventhSeminar.service.UserService;

import javax.validation.Valid;

Expand All @@ -24,12 +25,14 @@ public class UserController {

@PostMapping("/signup")
@ResponseStatus(HttpStatus.CREATED)
@Operation(summary = "유저 회원가입 API", description = "유저가 서버에 회원가입을 요청합니다.")
public ApiResponse<UserResponseDto> create(@RequestBody @Valid final UserRequestDto request) {
return ApiResponse.success(Success.SIGNUP_SUCCESS, userService.create(request));
}

@GetMapping("/login")
@ResponseStatus(HttpStatus.OK)
@Operation(summary = "유저 로그인 API", description = "유저가 서버에 로그인을 요청합니다.")
public ApiResponse<UserLoginResponseDto> login(@RequestBody @Valid final UserLoginRequestDto request) {
return ApiResponse.success(Success.LOGIN_SUCCESS, userService.login(request));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.common.advice;
package sopt.org.seventhSeminar.controller.common.advice;

import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
Expand All @@ -7,9 +7,9 @@
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import sopt.org.fourthSeminar.controller.common.dto.ApiResponse;
import sopt.org.fourthSeminar.controller.exception.model.SoptException;
import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.common.dto.ApiResponse;
import sopt.org.seventhSeminar.controller.exception.model.SoptException;
import sopt.org.seventhSeminar.controller.exception.Error;

import java.util.Objects;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package sopt.org.fourthSeminar.controller.common.dto;
package sopt.org.seventhSeminar.controller.common.dto;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.fourthSeminar.controller.exception.Success;
import sopt.org.seventhSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.Success;

@Getter
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.dto.request;
package sopt.org.seventhSeminar.controller.dto.request;

import lombok.*;
import org.springframework.web.multipart.MultipartFile;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.dto.request;
package sopt.org.seventhSeminar.controller.dto.request;


import lombok.AccessLevel;
Expand All @@ -7,7 +7,6 @@
import lombok.NoArgsConstructor;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.dto.request;
package sopt.org.seventhSeminar.controller.dto.request;

import lombok.AccessLevel;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.dto.request;
package sopt.org.seventhSeminar.controller.dto.request;

import lombok.AccessLevel;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.dto.response;
package sopt.org.seventhSeminar.controller.dto.response;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.dto.response;
package sopt.org.seventhSeminar.controller.dto.response;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.exception;
package sopt.org.seventhSeminar.controller.exception;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.exception;
package sopt.org.seventhSeminar.controller.exception;


import lombok.AccessLevel;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.exception;
package sopt.org.seventhSeminar.controller.exception;

import lombok.AccessLevel;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sopt.org.fourthSeminar.controller.exception;
package sopt.org.seventhSeminar.controller.exception;

import lombok.AccessLevel;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package sopt.org.fourthSeminar.controller.exception.model;
package sopt.org.seventhSeminar.controller.exception.model;

import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.Error;

public class BadRequestException extends SoptException{

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package sopt.org.fourthSeminar.controller.exception.model;
package sopt.org.seventhSeminar.controller.exception.model;

import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.Error;

public class ConflictException extends SoptException {
public ConflictException(Error error, String message) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package sopt.org.fourthSeminar.controller.exception.model;
package sopt.org.seventhSeminar.controller.exception.model;


import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.Error;

public class NotFoundException extends SoptException {
public NotFoundException(Error error, String message) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package sopt.org.fourthSeminar.controller.exception.model;
package sopt.org.seventhSeminar.controller.exception.model;

import lombok.Getter;
import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.Error;

@Getter
public class SoptException extends RuntimeException {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package sopt.org.fourthSeminar.controller.exception.model;
package sopt.org.seventhSeminar.controller.exception.model;

import sopt.org.fourthSeminar.controller.exception.Error;
import sopt.org.seventhSeminar.controller.exception.Error;

public class UnauthorizedException extends SoptException{
public UnauthorizedException(Error error, String message) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package sopt.org.fourthSeminar.domain;
package sopt.org.seventhSeminar.domain;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import sopt.org.fourthSeminar.AuditingTimeEntity;
import sopt.org.seventhSeminar.AuditingTimeEntity;

import javax.persistence.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package sopt.org.fourthSeminar.domain;
package sopt.org.seventhSeminar.domain;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import sopt.org.fourthSeminar.AuditingTimeEntity;
import sopt.org.seventhSeminar.AuditingTimeEntity;

import javax.persistence.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package sopt.org.fourthSeminar.domain;
package sopt.org.seventhSeminar.domain;

import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import sopt.org.fourthSeminar.AuditingTimeEntity;
import sopt.org.seventhSeminar.AuditingTimeEntity;

import javax.persistence.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package sopt.org.fourthSeminar.infrastructure;
package sopt.org.seventhSeminar.infrastructure;

import org.springframework.data.repository.Repository;
import sopt.org.fourthSeminar.domain.Board;
import sopt.org.seventhSeminar.domain.Board;

public interface BoardRepository extends Repository<Board, Long> {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package sopt.org.fourthSeminar.infrastructure;
package sopt.org.seventhSeminar.infrastructure;


import org.springframework.data.repository.Repository;
import sopt.org.fourthSeminar.domain.Image;
import sopt.org.seventhSeminar.domain.Image;

public interface ImageRepository extends Repository<Image, Long> {
// CREATE
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package sopt.org.fourthSeminar.infrastructure;
package sopt.org.seventhSeminar.infrastructure;

import org.springframework.data.repository.Repository;
import sopt.org.fourthSeminar.domain.User;
import sopt.org.seventhSeminar.domain.User;

import java.util.Optional;

Expand Down
Loading

0 comments on commit 2d7ed39

Please sign in to comment.