register email conflict check

This commit is contained in:
이진석
2020-01-31 17:19:44 +09:00
parent 901bd4840c
commit ce2ed365ff
5 changed files with 43 additions and 31 deletions

View File

@@ -12,6 +12,20 @@ function login(data) {
}); });
} }
function register(data) {
const { email, name, password } = data;
return axios({
method: 'post',
url: '/api/auth/register',
data: {
email,
name,
password
}
});
}
function currentUser(token) { function currentUser(token) {
return axios({ return axios({
method: 'get', method: 'get',
@@ -22,16 +36,6 @@ function currentUser(token) {
}); });
} }
function register(data) {
const { email, name, password } = data;
return axios({
method: 'post',
url: '/api/auth/register',
data
});
}
export default { export default {
login, login,
currentUser, currentUser,

View File

@@ -2,6 +2,7 @@
<div> <div>
home home
<router-link to="/auth/login">로그인</router-link> <router-link to="/auth/login">로그인</router-link>
<router-link to="/auth/register">회원가입</router-link>
</div> </div>
</template> </template>

View File

@@ -4,34 +4,36 @@
<input type="email" v-model="email" placeholder="Email"> <input type="email" v-model="email" placeholder="Email">
<input type="text" v-model="name" placeholder="Name"> <input type="text" v-model="name" placeholder="Name">
<input type="password" v-model="password" placeholder="Password"> <input type="password" v-model="password" placeholder="Password">
<button type="submit">확인</button>
</form> </form>
</div> </div>
</template> </template>
<script> <script>
import authApi from "../../api/authApi"; import authApi from "../../api/authApi";
export default { export default {
name: "Register", name: "Register",
data() { data() {
return { return {
email: '', email: '',
name: '', name: '',
password: '' password: ''
} }
}, },
methods: { methods: {
register: async function(evt) { register: async function(evt) {
evt.preventDefault(); evt.preventDefault();
const { email, name, password } = this; const { email, name, password } = this;
try { try {
const result = await authApi.register({email, name, password}); const result = await authApi.register({email, name, password});
console.log(result.data); } catch (err) {
} catch (err) { if (err.response.status === 409) {
console.log(err); alert('이미 존재하는 이메일입니다.');
}
}
}
} }
}
} }
}
</script> </script>
<style scoped> <style scoped>

View File

@@ -3,6 +3,8 @@ import VueRouter from "vue-router";
import Home from "../pages/Home"; import Home from "../pages/Home";
import Login from "../pages/auth/Login"; import Login from "../pages/auth/Login";
import Register from "../pages/auth/Register";
Vue.use(VueRouter); Vue.use(VueRouter);
@@ -17,5 +19,9 @@ export const router = new VueRouter({
path: '/auth/login', path: '/auth/login',
component: Login component: Login
}, },
{
path: '/auth/register',
component: Register
}
] ]
}); });

View File

@@ -5,7 +5,6 @@ import com.example.vue.domain.user.UserRepository;
import com.example.vue.domain.user.UserResponseDto; import com.example.vue.domain.user.UserResponseDto;
import com.example.vue.util.JwtUtil; import com.example.vue.util.JwtUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.security.core.parameters.P;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;