diff --git a/src/front/src/api/authApi.js b/src/front/src/api/authApi.js
index 09c16bf..7d8c14f 100644
--- a/src/front/src/api/authApi.js
+++ b/src/front/src/api/authApi.js
@@ -22,8 +22,18 @@ function currentUser(token) {
});
}
+function register(data) {
+ const { email, name, password } = data;
+ return axios({
+ method: 'post',
+ url: '/api/auth/register',
+ data
+ });
+}
+
export default {
login,
- currentUser
+ currentUser,
+ register
}
\ No newline at end of file
diff --git a/src/front/src/pages/auth/Login.vue b/src/front/src/pages/auth/Login.vue
index efc9d31..cd4c447 100644
--- a/src/front/src/pages/auth/Login.vue
+++ b/src/front/src/pages/auth/Login.vue
@@ -13,7 +13,6 @@
+
+
\ No newline at end of file
diff --git a/src/main/java/com/example/vue/domain/auth/AuthController.java b/src/main/java/com/example/vue/domain/auth/AuthController.java
index b8de9d0..b2839b4 100644
--- a/src/main/java/com/example/vue/domain/auth/AuthController.java
+++ b/src/main/java/com/example/vue/domain/auth/AuthController.java
@@ -1,8 +1,11 @@
package com.example.vue.domain.auth;
+import com.example.vue.domain.user.UserResponseDto;
import lombok.RequiredArgsConstructor;
-import org.springframework.security.core.Authentication;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@@ -19,7 +22,7 @@ public class AuthController {
}
@PostMapping(value = "/register")
- public void register() {
-
+ public UserResponseDto register(@RequestBody @Valid RegisterRequestDto registerRequestDto) {
+ return authService.register(registerRequestDto);
}
}
diff --git a/src/main/java/com/example/vue/domain/auth/AuthService.java b/src/main/java/com/example/vue/domain/auth/AuthService.java
index a044d2f..8c0a70a 100644
--- a/src/main/java/com/example/vue/domain/auth/AuthService.java
+++ b/src/main/java/com/example/vue/domain/auth/AuthService.java
@@ -2,10 +2,12 @@ package com.example.vue.domain.auth;
import com.example.vue.domain.user.User;
import com.example.vue.domain.user.UserRepository;
+import com.example.vue.domain.user.UserResponseDto;
import com.example.vue.util.JwtUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service;
+import sun.jvm.hotspot.asm.Register;
import java.util.List;
@@ -35,4 +37,10 @@ public class AuthService {
String token = jwtUtil.createToken(user.getId(), user.getName(), "USER");
return new LoginResponseDto(token);
}
+
+ public UserResponseDto register(RegisterRequestDto registerRequestDto) {
+ registerRequestDto.setPassword(bCryptPasswordEncoder.encode(registerRequestDto.getPassword()));
+ User user = userRepository.save(new User(registerRequestDto));
+ return new UserResponseDto(user);
+ }
}
diff --git a/src/main/java/com/example/vue/domain/auth/RegisterRequestDto.java b/src/main/java/com/example/vue/domain/auth/RegisterRequestDto.java
new file mode 100644
index 0000000..f8e760c
--- /dev/null
+++ b/src/main/java/com/example/vue/domain/auth/RegisterRequestDto.java
@@ -0,0 +1,19 @@
+package com.example.vue.domain.auth;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class RegisterRequestDto {
+
+ @NotNull
+ private String email;
+
+ @NotNull
+ private String name;
+
+ @NotNull
+ private String password;
+
+}
diff --git a/src/main/java/com/example/vue/domain/user/User.java b/src/main/java/com/example/vue/domain/user/User.java
index b010c57..98f94b3 100644
--- a/src/main/java/com/example/vue/domain/user/User.java
+++ b/src/main/java/com/example/vue/domain/user/User.java
@@ -1,5 +1,6 @@
package com.example.vue.domain.user;
+import com.example.vue.domain.auth.RegisterRequestDto;
import io.jsonwebtoken.Claims;
import lombok.Getter;
import lombok.NoArgsConstructor;
@@ -46,4 +47,10 @@ public class User {
this.role = claims.get("role").toString();
}
+ public User(RegisterRequestDto registerRequestDto) {
+ this.password = registerRequestDto.getPassword();
+ this.email = registerRequestDto.getEmail();
+ this.name = registerRequestDto.getName();
+ }
+
}