Skip to content

Commit

Permalink
Merge pull request #27 from Zatch-Team/Feature/User
Browse files Browse the repository at this point in the history
#3 fix : 회원가입/로그인 POST RES 모델 수정
  • Loading branch information
Suanna01 committed Apr 17, 2023
2 parents 0bc8549 + 884727e commit 6715c4d
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 6 deletions.
6 changes: 6 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,20 @@ dependencies {

runtimeOnly 'com.h2database:h2'
implementation 'mysql:mysql-connector-java:8.0.29'

// swagger
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'

// swagger 어노테이션 라이브러리
implementation 'io.swagger:swagger-annotations:1.5.21'

// AWS 연동
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

// 채팅 - WebSocket
implementation 'org.springframework.boot:spring-boot-starter-websocket'

}

tasks.named('test') {
Expand Down
23 changes: 18 additions & 5 deletions src/main/java/com/zatch/zatchserver/controller/UserController.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,19 @@
import com.zatch.zatchserver.dto.*;
import com.zatch.zatchserver.service.AuthService;
import com.zatch.zatchserver.service.UserService;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.nio.charset.Charset;
import java.util.*;

@RequiredArgsConstructor
Expand All @@ -26,8 +29,11 @@ public class UserController {
private final UserService userService;
private final AuthService authService;

@ApiResponses(value = {
@ApiResponse(code = 200, message = "Success", response = GetUserResDto.class, examples = @Example(@ExampleProperty(value = "{'property1': 'value1', 'property2': 'value2'}", mediaType = MediaType.APPLICATION_JSON_VALUE)))
})
@PostMapping("/new")
@ApiOperation(value = "회원가입", notes = "회원가입 API")
@ApiOperation(value = "회원가입", notes = "회원가입 API", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity postUser(@RequestBody PostUserReqDto postUserReqDto, HttpServletResponse response) {
// 이메일을 통해 회원가입 or 로그인 check
String isSignup = userService.loginOrSignup(postUserReqDto.getEmail());
Expand All @@ -41,15 +47,17 @@ public ResponseEntity postUser(@RequestBody PostUserReqDto postUserReqDto, HttpS
Collections.shuffle(adjectives);
Collections.shuffle(animals);

String nickname = adjectives.get(0) + " " + animals.get(0);

User newUser = new User(
postUserReqDto.getName(),
postUserReqDto.getEmail(),
adjectives.get(0) + " " + animals.get(0)
nickname
);

userService.join(newUser);

PostUserResDto postUserResDto = new PostUserResDto(newUser.getName(), newUser.getEmail(), adjectives.get(0) + " " + animals.get(0));
PostUserResDto postUserResDto = new PostUserResDto(newUser.getName(), newUser.getEmail(), nickname);

// 토큰
String email = postUserReqDto.getEmail();
Expand All @@ -58,7 +66,12 @@ public ResponseEntity postUser(@RequestBody PostUserReqDto postUserReqDto, HttpS
response.addHeader("ACCESS_TOKEN", accessToken);
String token = userService.token(Long.valueOf(userId), accessToken);

return new ResponseEntity(DefaultRes.res(StatusCode.OK, ResponseMessage.CREATED_USER, postUserReqDto+" / accessToken : "+token+" / userId : "+userId), HttpStatus.OK);
HttpHeaders header = new HttpHeaders();
header.setContentType(new MediaType("application", "json", Charset.forName("UTF-8")));

GetUserResDto getUserResDto = new GetUserResDto(Long.valueOf(userId), postUserReqDto.getName(), nickname, postUserReqDto.getEmail());

return ResponseEntity.ok().body(getUserResDto);
}

// 로그인
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/zatch/zatchserver/domain/User.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package com.zatch.zatchserver.domain;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class User {
private Long id;
private String name;
Expand All @@ -15,7 +17,6 @@ public class User {
/*---Constructor---*/
public User(String name, String email, String nickname) {
this.name = name;
this.nickname = nickname;
this.email = email;
}

Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/zatch/zatchserver/dto/GetUserResDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,22 @@

import lombok.AllArgsConstructor;
import lombok.Getter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@Getter
@AllArgsConstructor
@ApiModel(description = "User 정보")
public class GetUserResDto {
@ApiModelProperty(value = "User Id", example = "1")
private Long user_id;

@ApiModelProperty(value = "User 이름", example = "김수정")
private String name;

@ApiModelProperty(value = "User 닉네임", example = "행복한 수달")
private String nickname;

@ApiModelProperty(value = "User 이메일", example = "email123@sungshin.ac.kr")
private String email;
}

0 comments on commit 6715c4d

Please sign in to comment.