프로젝트명 : 매장 예약 시스템
프로젝트 기능 소개 :
위 프로젝트를 하는 이유에 대해서 다른 레포지토리 참고해서 하기
요청경로 / 파라미터 / 결과
요쳥경로 : [POST] http://localhost:8080/member파라미터
{
"username" : "jiho",
"password" : "dodlal1234",
"memberStatus" : "PARTNER"
}
결과
{
"id": 33,
"username": "jisu",
"password": "dodlal1234",
"memberStatus": "PARTNER"
}
요청경로 / 파라미터 / 결과
요쳥경로 : [POST] http://localhost:8080/login파라미터
{
"username" : "jisu",
"password" : "dodlal12345"
}
결과
- 성공시
{
"username": "jisu",
"password": null,
"memberStatus": "PARTNER"
}
- 실패시
{
로그인 정보가 올바르지 않습니다.
}
요청경로 / 파라미터 / 결과
![스크린샷 2023-08-21 오후 12 20 24](https://private-user-images.githubusercontent.com/122674412/261904103-21506602-819e-4437-8ced-48f005bbb242.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMzM0MjksIm5iZiI6MTcyMTMzMzEyOSwicGF0aCI6Ii8xMjI2NzQ0MTIvMjYxOTA0MTAzLTIxNTA2NjAyLTgxOWUtNDQzNy04Y2VkLTQ4ZjAwNWJiYjI0Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOFQyMDA1MjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kODM0ZjcwZTA0ZTRmZmE5MDExMDZlOWMwMjFlMzE3N2ZmNzcyMTAwNDJhN2IxZDIxZGRkY2Y1NGZmNjkwZjk4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.guyP-YOYvd-B6OUz9aY9QxzUlujQRuPB97kgQtLsEL8)
요쳥경로 : [POST] http://localhost:8080/store
파라미터
{
"memberId" : 2,
"name" : "testStore5",
"location" : "seoul",
"description" : "test description2"
}
결과
{
"storeId": 39,
"memberId": 2,
"name": "testStore5",
"location": "seoul",
"description": "test description2"
}
요청경로 / 결과
![스크린샷 2023-08-21 오후 12 52 13](https://private-user-images.githubusercontent.com/122674412/261913113-353c6807-7d1c-49d3-b5fc-3b78600ce085.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMzM0MjksIm5iZiI6MTcyMTMzMzEyOSwicGF0aCI6Ii8xMjI2NzQ0MTIvMjYxOTEzMTEzLTM1M2M2ODA3LTdkMWMtNDlkMy1iNWZjLTNiNzg2MDBjZTA4NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOFQyMDA1MjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00YzA0Y2FiY2Y1MDEyNGRhZDFmNTU1NGMzNjcyZTU1NGJhOTc1ODI1MjU2YWRiNGVhZTU4ZDc2MmQ5MDlhNTMyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.SzmmIFtLW6WFPfRKy886qvypMoDAZIaiC_pElfWQne8)
요쳥경로 : [GET] http://localhost:8080/stores?page={currentPage}&size={pageSize}&sort=id,desc
최신 매장부터 조회
결과
{
"totalItems": 4,
"data": [
{
"storeId": 9,
"memberId": 1,
"name": "testStore4",
"location": "seoul",
"description": "test description3"
},
{
"storeId": 5,
"memberId": 1,
"name": "testStore3",
"location": "seoul",
"description": "test description3"
}
],
"totalPages": 2,
"currentPage": 0
}
요청경로 / 결과
![스크린샷 2023-08-21 오후 1 03 25](https://private-user-images.githubusercontent.com/122674412/261915333-75f641eb-9f8c-4ea2-96c1-6a212fdc723d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMzM0MjksIm5iZiI6MTcyMTMzMzEyOSwicGF0aCI6Ii8xMjI2NzQ0MTIvMjYxOTE1MzMzLTc1ZjY0MWViLTlmOGMtNGVhMi05NmMxLTZhMjEyZmRjNzIzZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOFQyMDA1MjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lN2U4YWYzNDI1ODNlOWI3NTM5MzdmY2U0ZGQzMTc0MzFlYzExOWZlZjBjNWY2MDJhNjE2ZDExYTEyMDU2NTY3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.nLiZM0ZF3wTUld0y9Okv7yu2T0SlHtSgzxudAP3udRY)
요쳥경로 : [GET] http://localhost:8080/store/15
결과
{
"count": 1,
"data": {
"storeId": 15,
"memberId": 2,
"name": "testStore4",
"location": "seoul",
"description": "test description2"
}
}
요청경로 / 파라미터 / 결과
요청경로 : [GET] http://localhost:8080/store/member/1?page={currentPage}&size={pageSize}
파라미터
결과
{
"totalItems": 4,
"data": [
{
"storeId": 3,
"memberId": 1,
"name": "testStore",
"location": "seoul",
"description": "test description"
},
{
"storeId": 4,
"memberId": 1,
"name": "testStore2",
"location": "seoul",
"description": "test description2"
}
],
"totalPages": 2,
"currentPage": 0
}
요청경로 / 파라미터 / 결과
요청경로 : [GET] http://localhost:8080/members/1/owned-stores/reservations?page={currentPage}&size={pageSize}
파라미터
결과
{
"totalItems": 2,
"data": [
{
"storeName": "testStore2",
"reservationMemberName": "jisu",
"createdAt": "2023-08-26T12:19:45.269286",
"reservationAt": "2023-08-18T14:30:00"
}
],
"totalPages": 2,
"currentPage": 1
}
요청경로 / 파라미터 / 결과
![스크린샷 2023-08-21 오후 1 04 04](https://private-user-images.githubusercontent.com/122674412/261915420-91bc250c-4dc3-4a9a-baf7-4ef02ddd999f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMzM0MjksIm5iZiI6MTcyMTMzMzEyOSwicGF0aCI6Ii8xMjI2NzQ0MTIvMjYxOTE1NDIwLTkxYmMyNTBjLTRkYzMtNGE5YS1iYWY3LTRlZjAyZGRkOTk5Zi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNzE4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDcxOFQyMDA1MjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mNmY0OWU2MzVjZjE3OTRhMTczNjE5ZmE2YjNlN2VmYzRhZTViYWY2ZDEzNzE0MGI5NTcwNTk4MTQ5ZTMwMGUyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.5g7TlsESpWX0eb5wiCTPuHH5VCIcbBDWjoGGHmLVREU)
요청경로 : [PUT] http://localhost:8080/store/13
파라미터
{
"name" : "update Test Name",
"location" : "update Test location",
"description" : "update test store"
}
결과
{
"storeId": 13,
"memberId": 12,
"name": "update Test Name",
"location": "update Test location",
"description": "update test store"
}
요청경로 / 파라미터 / 결과
요청경로 : [POST] http://localhost:8080/reservation 파라미터
{
"memberId" : 19,
"storeId" : 15,
"reservationStatus" : "REQUESTED",
"time" : "2023-08-18T14:30:00"
}
결과
{
"memberId": 19,
"storeId": 15,
"reservationId": 40,
"time": "2023-08-18T14:30:00",
"reservationStatus": "REQUESTED"
}
요청경로 / 결과
요청경로 : [GET] http://localhost:8080/reservations/member/2?page={currentPage}&size={pageSize}
결과
{
"totalItems": 2,
"data": [
{
"memberId": 2,
"storeId": 3,
"reservationId": 6,
"time": "2023-08-18T14:30:00",
"reservationStatus": "CONFIRMED"
},
{
"memberId": 2,
"storeId": 4,
"reservationId": 7,
"time": "2023-08-18T14:30:00",
"reservationStatus": "REQUESTED"
}
],
"totalPages": 1,
"currentPage": 0
}
요청경로 / 결과
요청경로 : [GET] http://localhost:8080/reservations/store/3?page={currentPage}&size={pageSize}
결과
{
"totalItems": 1,
"data": [
{
"memberId": 2,
"storeId": 3,
"reservationId": 6,
"time": "2023-08-18T14:30:00",
"reservationStatus": "CONFIRMED"
}
],
"totalPages": 1,
"currentPage": 0
}
요청경로 / 결과
요청경로 : [PUT] http://localhost:8080/reservation/cancel?reservationId=21
결과
{
"memberId": 19,
"storeId": 15,
"reservationId": 40,
"time": "2023-08-18T14:30:00",
"reservationStatus": "CONFIRMED"
}
"reservationStatus": "CONFIRMED"으로 변경됨.
요청경로 / 결과
요청경로 : [PUT] http://localhost:8080/reservation/cancel?reservationId=21
결과
{
"memberId": 19,
"storeId": 15,
"reservationId": 40,
"time": "2023-08-18T14:30:00",
"reservationStatus": "CANCELED"
}
"reservationStatus": "CANCELED"으로 변경됨.
요청경로 / 결과
요청경로 : [GET] http://localhost:8080/reservations/without_review/member/2?page={currentPage}&size={pageSize}
결과
{
"totalItems": 0,
"data": [],
"totalPages": 0,
"currentPage": 0
}
요청경로 / 파라미터 / 결과
요쳥경로 : [POST] http://localhost:8080/review
파라미터
{
"memberId" : 19,
"storeId" : 15,
"reservationId" : 51,
"content" : "review test5"
}
결과
{
"memberId": 48,
"storeId": 39,
"reservationId": 51,
"reviewId": 52,
"content": "review test!!@@"
}
요청경로 / 결과
요쳥경로 : [GET] http://localhost:8080/reviews/member/2?page={currentPage}&size={pageSize}
결과
{
"totalItems": 1,
"data": [
{
"memberId": 2,
"storeId": 3,
"reservationId": 6,
"reviewId": 8,
"content": "review test"
}
],
"totalPages": 1,
"currentPage": 0
}
요청경로 / 결과
요쳥경로 : [GET] http://localhost:8080/reviews/store/3?page={currentPage}&size={pageSize}
결과
{
"totalItems": 1,
"data": [
{
"memberId": 2,
"storeId": 3,
"reservationId": 6,
"reviewId": 8,
"content": "review test"
}
],
"totalPages": 1,
"currentPage": 0
}
요청경로 / 파라미터 / 결과
요쳥경로 : [PUT] http://localhost:8080/review/52
파라미터
{
"content": "review content is updated!!"
}
결과
{
"memberId": 48,
"storeId": 39,
"reservationId": 51,
"reviewId": 52,
"content": "review content is updated!!"
}