register email conflict check
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user