Skip to content

Conversation

@essaysir
Copy link
Contributor

@essaysir essaysir commented Dec 2, 2025

📋 Summary

프론트엔드 개발 및 테스트를 위한 Mock API 엔드포인트를 추가했습니다.
인증 없이 사용 가능하며, 실제 API와 동일한 응답 형식을 제공합니다.

🎯 목적

  • 백엔드 API 개발 전 프론트엔드 개발 진행 가능
  • 실제 데이터베이스 없이 UI/UX 테스트 가능
  • API 응답 형식 사전 검증

🔗 제공 엔드포인트

1. 리포트 조회

  • URL: GET /api/mock/notes/report
  • 인증: 불필요
  • 설명: 임장 리포트 조회

응답 예시:

{
"isSuccess": true,
"code": "COMMON200",
"message": "성공입니다.",
"result": {
  "reportDTO": {
    "reportId": 1,
    "indoorKeyWord": "상당히 쾌적한 실내",
    "publicSpaceKeyWord": "훌륭한 공용 공간",
    "locationConditionsWord": "좋은 편인 입지 조건",
    "indoorRate": 4.6,
    "publicSpaceRate": 4.3,
    "locationConditionsRate": 4.7,
    "totalRate": 4.5
  },
  "limjangDto": {
    "limjangId": 1,
    "checkListVersion": "LIMJANG",
    "images": [
      "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg",
      "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_2.jpeg",
      "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_3.jpeg",
      "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_4.jpeg"
    ],
    "purposeCode": 1,
    "nickname": "우성 아파트",
    "priceType": 0,
    "priceList": [
      "500000000"
    ],
    "address": "서울특별시 강남구 테헤란로 123",
    "addressDetail": "101동 1001호",
    "createdAt": "2024-11-15T10:30:00",
    "updatedAt": "2024-11-20T14:20:00"
  }
}
}

2. 녹음 및 메모 조회

  • URL: GET /api/mock/notes/records
  • 인증: 불필요
  • 설명: 녹음 파일 및 메모 조회

응답 예시:

{
  "isSuccess": true,
  "code": "COMMON200",
  "message": "성공입니다.",
  "result": {
    "limjangId": 1,
    "memo": "- 베란다 확장 공사 완료. 냉기 차단 잘 됨 \n - 단지내 어린이집",
    "createdAt": "2024-11-15T10:30:00",
    "updatedAt": "2024-11-20T17:00:00",
    "recordDto": []
  }
}

3. 최근 임장 조회

  • URL: GET /api/mock/notes/recent
  • 인증: 불필요
  • 설명: 메인화면에서 최근 임장 목록 조회

응답 예시:

{
"isSuccess": true,
"code": "COMMON200",
"message": "성공입니다.",
"result": {
  "recentUpdatedList": [
    {
      "limjangId": 1,
      "priceType": 0,
      "image": "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg",
      "nickname": "우성 아파트",
      "price": "3010000000",
      "totalAverage": "4.5",
      "address": ""
    }
  ]
}
}

4. 마이노트 목록 조회

  • URL: `GET /api/mock/notes/mynotes
  • 인증: 불필요
  • 설명: 사용자의 노트 목록 조회

응답 예시:

{
"isSuccess": true,
"code": "COMMON200",
"message": "성공입니다.",
"result": {
  "notes": [
    {
      "noteId": 1,
      "purposeType": "RESIDENTIAL_PURPOSE",
      "propertyType": "APARTMENT",
      "priceType": "SALE",
      "name": "우성 아파트",
      "imageUrl": [
        "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg",
        "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_2.jpeg",
        "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_3.jpeg",
        "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock_png_4.jpeg"
      ],
      "isScraped": true,
      "rate": "3.63",
      "price": "3010000000",
      "monthlyRent": null,
      "pyong": 28,
      "floor": "10",
      "address": "서울 송파구 잠실동 101-1",
      "shortAddress": "서울시"
    }
  ]
}
}

5. 임장 상세 조회

  • URL: GET /api/mock/notes/detail
  • 인증: 불필요
  • 설명: 임장 상세 정보 조회

응답 예시:

{
"isSuccess": true,
"code": "COMMON200",
"message": "성공입니다.",
"result": {
  "isShared": true,
  "purposeType": "RESIDENTIAL_PURPOSE",
  "propertyType": "APARTMENT",
  "priceType": "SALE",
  "buildingName": "우성 아파트",
  "images": [
    "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_1.jpeg",
    "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_2.jpeg",
    "https://juinjang-bucket.s3.ap-northeast-2.amazonaws.com/mock/mock-png_3.jpeg"
  ],
  "roadAddress": "서울 송파구 잠실동",
  "addressDetail": "101-1",
  "price": "3010000000",
  "monthlyRent": null,
  "updatedAt": "23.12.01",
  "floor": "10",
  "pyong": 28,
  "bcode": "1168010100",
  "sido": "서울특별시",
  "sigungu": "송파구",
  "bname1": "잠실동",
  "bname2": ""
}
}
}

6. 체크리스트 조회

  • URL : GET /api/mock/notes/checklists
  • 인증 : 불필요
  • 설명 : 임장 체크리스트 답변 조회 (입지여건, 공용공간, 실내)

응답 예시:

{
  "isSuccess": true,
  "code": "COMMON200",
  "message": "성공입니다.",
  "result": [
    {
      "answerId": 1,
      "questionId": 1,
      "category": "LOCATION_CONDITION",
      "limjangId": 1,
      "answer": "5",
      "answerType": "SCORE"
    },
    {
      "answerId": 2,
      "questionId": 2,
      "category": "LOCATION_CONDITION",
      "limjangId": 1,
      "answer": "2호선 신당역",
      "answerType": "DROPDOWN"
    },
    {
      "answerId": 20,
      "questionId": 20,
      "category": "PUBLIC_SPACE",
      "limjangId": 1,
      "answer": "2대",
      "answerType": "TEXT_FIELD"
    },
    {
      "answerId": 25,
      "questionId": 25,
      "category": "INDOOR",
      "limjangId": 1,
      "answer": "설치형에어컨",
      "answerType": "DROPDOWN"
    }
   .... 
   
   ]
}

⚠️ 주의사항

  • Mock 데이터이므로 실제 데이터베이스와 연동되지 않습니다
  • 동일한 고정된 데이터를 반환합니다
  • 실제 API 개발 완료 후 해당 엔드포인트로 교체 필요

@essaysir essaysir merged commit 41447e6 into dev Dec 13, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants