1. [CowAPI] Notice
- 일반유저는 공지 생성, 수정, 삭제가 불가능합니다.
구조
Notice Table
- DB의 Notice 테이블은 다음과 같습니다.
- Notice는 User table과 many to one 매핑이 됩니다.
- 위의 링크를 통해 코드 리뷰를 볼 수 있습니다.
😎 3. 개발하면서
- Springboot security를 처음 사용해보았습니다.
- 다른 블로그와는 다르게 CowAPI의 DB를 최대한 수정하지 않고 구현하기위해 노력했습니다.
- Role을 if-else 문이 아닌 security를 사용함으로써 서비스의 코드가 간결해지고 안정적으로 운영할 수 있다는 것을 깨달았습니다.
- csrf를 적용하지 않아서 GET을 제외한 다른 HTTP Method들의 에러가 났습니다.
- API 서버에서는 csrf를 적용하지 않아도 되지만 세션 기반의 유저 관리를 했을 때 필요할 것이라고 생각하여 한번 구현을 해보고 테스트를 진행해보았습니다.
- 추후에 JWT와 CORS를 적용할 예정입니다.
4. Code