Skip to content

Commit

Permalink
Feat: user signup api ์ˆ˜์ •
Browse files Browse the repository at this point in the history
Related to: #5
  • Loading branch information
crayon committed Mar 18, 2022
1 parent fefa07c commit 83e534a
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;

@SpringBootApplication
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)
public class MoodstationApplication {
public static void main(String[] args) {
SpringApplication.run(MoodstationApplication.class, args);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

@Getter
@NoArgsConstructor
public class UserCreateRequestDto {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();

private String email;
private String nickname;
Expand All @@ -19,7 +17,7 @@ public class UserCreateRequestDto {
public UserCreateRequestDto(String email, String nickname, String password) {
this.email = email;
this.nickname = nickname;
this.password = encoder.encode(password);
this.password = password;
}

public User toEntity() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@

import com.moodstation.springboot.entity.User;
import lombok.Getter;
import org.springframework.http.HttpStatus;

@Getter
public class UserCreateResponseDto {

private Long id;
private HttpStatus statusCode;
private String email;
private String nickname;

public UserCreateResponseDto(User entity) {
this.id = entity.getId();
public UserCreateResponseDto(HttpStatus statusCode, UserCreateRequestDto entity) {
this.statusCode = statusCode;
this.email = entity.getEmail();
this.nickname = entity.getNickname();
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/moodstation/springboot/entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "user")
public class User {

@Id
Expand All @@ -34,9 +37,6 @@ public class User {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDateTime updatedAt;

@Column(nullable = false)
private String accessToken;

@Builder
public User(String email, String nickname, String password) {
this.email = email;
Expand Down
13 changes: 10 additions & 3 deletions src/main/java/com/moodstation/springboot/service/UserService.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.moodstation.springboot.service;

import com.moodstation.springboot.dto.UserCreateRequestDto;
import com.moodstation.springboot.dto.UserCreateResponseDto;
import com.moodstation.springboot.entity.User;
import com.moodstation.springboot.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
Expand All @@ -14,8 +16,13 @@ public class UserService {
private final UserRepository userRepository;

// ํšŒ์›๊ฐ€์ž…
@Transactional
public Long save(UserCreateRequestDto requestDto) {
return userRepository.save(requestDto.toEntity()).getId();
public String save(UserCreateRequestDto requestDto) {
userRepository.save(User.builder()
.email(requestDto.getEmail())
.nickname(requestDto.getNickname())
.password(requestDto.getPassword())
.build());

return "Success";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
import com.moodstation.springboot.entity.User;
import com.moodstation.springboot.service.UserService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
Expand All @@ -16,8 +18,12 @@ public class UserApiController {
private final UserService userService;

@PostMapping("/api/v1/signup")
public Long signup(@RequestBody UserCreateRequestDto requestDto) {
return userService.save(requestDto);
public UserCreateResponseDto signup(@RequestBody UserCreateRequestDto requestDto) {
if (userService.save(requestDto).equals("Success")) {
return new UserCreateResponseDto(HttpStatus.CREATED, requestDto);
}

return new UserCreateResponseDto(HttpStatus.BAD_REQUEST, requestDto);
}

}

0 comments on commit 83e534a

Please sign in to comment.