코이_CO2
LIVING IS DYING
코이_CO2
전체 방문자
오늘
어제
  • 분류 전체보기 (45)
    • TIL ⚓️ (4)
      • OT주차 (1)
      • 1주차_풀스택 미니 프로젝트 (0)
      • 1주차_언어 기초(Java) (0)
      • 2주차_프로그래밍 기초 (1)
      • 3주차_주특기 입문(Spring) (0)
      • 4주차_주특기 숙련(Spring) (2)
    • WIL ⚓️ (0)
      • OT주차 (0)
      • 1주차_언어 기초(Java) (0)
      • 2주차_프로그래밍 기초 (0)
      • 3주차_주특기 입문(Spring) (0)
      • 4주차_주특기 숙련(Spring) (0)
    • Java의 정석 📖 (4)
      • Chapter 1. 자바를 시작하기 전에 (3)
      • Chapter 2. 변수 (0)
      • Chapter 3. 연산자 (0)
      • Chapter 4. 조건문과 반복문 (1)
    • Programmers (7)
      • Lv. 1 (7)
    • 혼자 공부하는 자바 📖 (8)
      • Chapter 05 참조 타입 (0)
      • Chapter 06 클래스 (3)
      • Chapter 07 상속 (1)
      • Chapter 08 인터페이스 (1)
      • Chapter 09 중첩 클래스 & 인터페이스 (0)
      • Chapter 10 예외 처리 (1)
      • Chapter 12 스레드 (1)
    • Java (2)
    • Spring (1)
    • Python (2)
    • Mysql (4)
    • Machine Learning (6)
      • 추측 통계 (2)
    • Data Analysis (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 배열
  • 개발자
  • 항해99
  • 파이썬
  • TIL
  • jwt
  • 웹개발 종합반
  • 개발일지
  • Spring Security
  • 혼자 공부하는 자바
  • 하루기록
  • sql
  • java
  • LV1
  • HTML
  • 코딩
  • DTO
  • 스프링
  • 혼자공부하는자바
  • CRUD
  • 자바
  • spring
  • programmers
  • 스터디
  • 주특기 심화주차
  • PYTHON
  • 부트스트랩
  • TIL/WIL
  • 게시판 프로젝트
  • 프로그래머스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
코이_CO2

LIVING IS DYING

TIL / 항해99 12기 36일차_230213_Mon
TIL ⚓️/4주차_주특기 숙련(Spring)

TIL / 항해99 12기 36일차_230213_Mon

2023. 2. 14. 18:50

Spring 숙련 주차 Lv2

하기 요구사항에 맞춰 ERD 및 API 명세서 작성 후 코드 구현 중~!

API 명세서를 티스토리 블로그 표로 그렸더니 이상하게 출력된다.

그래서 알아보니 API 명세 작성 툴로

  • Excel
  • Swagger
  • gitbook
  • Postman

대표적 4가지를 사용한다는데 깃북을 한 번 사용해봐야겠다.

ERD는 아래 링크 사용하면 편하게 작성이 가능하다.

https://www.erdcloud.com/

 

ERDCloud

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

 

요구사항

  1. 전체 게시글 목록 조회 API
    • 제목, 작성자명(username), 작성 내용, 작성 날짜를 조회하기
    • 작성 날짜 기준 내림차순으로 정렬하기
  2. 게시글 작성 API
    • 토큰을 검사하여, 유효한 토큰일 경우에만 게시글 작성 가능
    • 제목, 작성자명(username), 작성 내용을 저장하고
    • 저장된 게시글을 Client 로 반환하기
  3. 선택한 게시글 조회 API
    • 선택한 게시글의 제목, 작성자명(username), 작성 날짜, 작성 내용을 조회하기
  4. 선택한 게시글 수정 API
    • 토큰을 검사한 후, 유효한 토큰이면서 해당 사용자가 작성한 게시글만 수정 가능
    • 제목, 작성 내용을 수정하고 수정된 게시글을 Client 로 반환하기
  5. 선택한 게시글 삭제 API
    • 토큰을 검사한 후, 유효한 토큰이면서 해당 사용자가 작성한 게시글만 삭제 가능
    • 선택한 게시글을 삭제하고 Client 로 성공했다는 메시지, 상태코드 반환하기

 

ERD

 

 

 

API 명세서

기능 API URL Method Request
header
Request Response Response
header
회원 가입 /api/auth/signup POST   { "username": "bin1234", "password": "Bin@12345" } { "msg": "회원가입 성공", "statusCode": 200 }  
로그인 /api/auth/login POST   { "username": "bin1234", "password": "Bin@12345" } { "msg": "로그인 성공", "statusCode": 200 } Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJiaW4xMjM0IiwiZXhwIjoxNjY5ODcwNDUyLCJpYXQiOjE2Njk4NjY4NTJ9.mm8wgaV8M70hidhPX4Ut6UONZGaxjA1KnOJT1mO59Xc
게시글 작성 /api/post POST Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJiaW4xMjM0IiwiZXhwIjoxNjY5ODcwNDUyLCJpYXQiOjE2Njk4NjY4NTJ9.mm8wgaV8M70hidhPX4Ut6UONZGaxjA1KnOJT1mO59Xc { "title": "게시글5", "content": "내용5" } { "id": 5, "title": "게시글5", "content": "내용5", "username": "bin1234", "createdAt": "2022-12-01T12:56:36.821474", "modifiedAt": "2022-12-01T12:56:36.821474" }  
게시글
목록 조회
/api/posts GET     { "postList": [ { "id": 1, "title": "게시글1", "content": "내용1", "username": "bin1234", "createdAt": "2022-12-01T12:52:06.729608", "modifiedAt": "2022-12-01T12:52:06.729608" }, { "id": 2, "title": "게시글2", "content": "내용2", "username": "bin1234", "createdAt": "2022-12-01T12:52:10.566505", "modifiedAt": "2022-12-01T12:52:10.566505" }, { "id": 3, "title": "게시글3", "content": "내용3", "username": "bin1234", "createdAt": "2022-12-01T12:52:16.773748", "modifiedAt": "2022-12-01T12:52:16.773748" }, { "id": 5, "title": "게시글4 삭제 내용5 수정", "content": "내용4 삭제 내용5 수정", "username": "bin1234", "createdAt": "2022-12-01T12:56:36.821474", "modifiedAt": "2022-12-01T12:59:25.681261" } ] }  
게시글
상세 조회
/api/post/{id} GET     { "id": 1, "title": "게시글1", "content": "내용1", "username": "bin1234", "createdAt": "2022-12-01T12:52:06.729608", "modifiedAt": "2022-12-01T12:52:06.729608" }  
게시글 수정 /api/post/{id} PUT Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJiaW4xMjM0IiwiZXhwIjoxNjY5ODcwNDUyLCJpYXQiOjE2Njk4NjY4NTJ9.mm8wgaV8M70hidhPX4Ut6UONZGaxjA1KnOJT1mO59Xc { "title": "게시글 수정", "content": "내용 수정" } { "id": 5, "title": "게시글4 삭제 내용5 수정", "content": "내용4 삭제 내용5 수정", "username": "bin1234", "createdAt": "2022-12-01T12:56:36.821474", "modifiedAt": "2022-12-01T12:56:36.821474"  
게시글 삭제 /api/post/{id} DELETE Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJiaW4xMjM0IiwiZXhwIjoxNjY5ODcwNDUyLCJpYXQiOjE2Njk4NjY4NTJ9.mm8wgaV8M70hidhPX4Ut6UONZGaxjA1KnOJT1mO59Xc   { "msg": "게시글 삭제 성공", "statusCode": 200 }  

'TIL ⚓️ > 4주차_주특기 숙련(Spring)' 카테고리의 다른 글

TIL / 항해99 12기 37일차_230214_Tue  (0) 2023.02.15
    'TIL ⚓️/4주차_주특기 숙련(Spring)' 카테고리의 다른 글
    • TIL / 항해99 12기 37일차_230214_Tue
    코이_CO2
    코이_CO2
    나에게 찾아오는 뻔한 매일을 언제나 값지게 여길 줄 아는 내가 되기를

    티스토리툴바