Spring Web-Flux
를 이용한REST-API SNS
서버를 만드는 저장소입니다.
jdk
(>=11)Gradle
orIntelliJ
Spring-boot
(>=2.x)MongoDB
(>=1.19)
-
DataBase
Download
Robo 3TMongoDB Connection → Connect
Create Data Base → Database Name: OutStagram → Create
-
InteliJ
File → New → Project from Version Control → Git
URL : https://github.com/team-ksu-14/OutStagram.git → Clone
-
Run BootApplication
펼치기
회원을 조회하거나 생성할 때 사용합니다.
GET
요청을 사용하여 가입되어 있는 모든 회원을 조회할 수 있습니다.
$ curl 'http://localhost:8080/api/members' -i -X GET
GET /api/members HTTP/1.1
Host: localhost:8080`
[
{
"id": "5df7682f89b97d5fa516276c",
"email": "test@email.com",
"username": "testuser",
"password": "{bcrypt}$2a$10$J9j9vjxiY2uBS2RtQpesR.bTwNuS3oKojssvKWbIrUaqdUmS/yAQy",
"image": null,
"bio": null,
"createdAt": "2019-12-16T20:19:10.916",
"updatedAt": null,
"roles": [
"USER",
"ADMIN"
],
"accessToken": null
},
{
"id": "5df7682f89b97d5fa516276d",
"email": "test2@email.com",
"username": "testuser2",
"password": "{bcrypt}$2a$10$edPebMKzbe/5jPXhZDhy4efOzurHKwJxZEhEsP5GTm/tV7pahkqdO",
"image": null,
"bio": null,
"createdAt": "2019-12-16T20:19:10.916",
"updatedAt": null,
"roles": [
"USER"
],
"accessToken": null
},
{
"id": "5df7682f89b97d5fa516276e",
"email": "test3@email.com",
"username": "testuser3",
"password": "{bcrypt}$2a$10$Icp9CcFyodc3nb3LqbtKVuVT5yY9Q9SNO0KKtgHUmWwGx7ujYYEmW",
"image": null,
"bio": null,
"createdAt": "2019-12-16T20:19:10.916",
"updatedAt": null,
"roles": [
"ADMIN"
],
"accessToken": null
},
{
"id": "5df7682f89b97d5fa516276f",
"email": "authTest@test.com",
"username": "authTest",
"password": "{bcrypt}$2a$10$hM7O4KNCwqpXpNw406CuQ.0ErfwWeslOKoP0Fupxw6byyHA7rs1ke",
"image": null,
"bio": null,
"createdAt": "2019-12-16T20:19:10.917",
"updatedAt": null,
"roles": [
"USER",
"ADMIN"
],
"accessToken": null
}
]
Field | Type | Description |
---|---|---|
id | String | 번호 |
String | 이메일 | |
username | String | 이름 |
password | String | 비밀번호 |
image | String | 프로필 사진 |
bio | String | 소개 |
createdAt | LocalDateTime | 생성 시간 |
updatedAt | LocalDateTime | 수정 시간 |
roles | Set | 권한 |
accessToken | String | 인증 토큰 |
POST
요청을 사용하여 회원을 생성할 수 있습니다.
$ curl 'http://localhost:8080/api/members/' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Accept: application/json;charset=UTF-8' \
-d '{
"email": "testEmail@gmail.com",
"password": "testPassword1!"
}'
POST /api/members HTTP/1.1
Host: localhost:8080
Content-Type: application/json
cache-control: no-cache
{
"email": "asdf@email.com",
"username": "test",
"password": "adsf123!"
}
{
"id": "5df76bed89b97d5fa5162770",
"email": "asdf@email.com",
"username": "test",
"password": "{bcrypt}$2a$10$YcX7cgJFBGiEliNC0N3uf.BDaF.6ooTuqkH/Yz7.gRIIfTxtB6j1O",
"image": null,
"bio": null,
"createdAt": null,
"updatedAt": null,
"roles": [
"USER"
],
"accessToken": null
}
Field | Type | Description |
---|---|---|
id | String | 번호 |
String | 이메일 | |
username | String | 이름 |
password | String | 비밀번호 |
image | String | 프로필 사진 |
bio | String | |
createdAt | LocalDateTime | 생성 시간 |
updatedAt | LocalDateTime | 수정 시간 |
roles | Set | 권한 |
accessToken | String | 인증 토큰 |
- 추가 예정