two-clock / backend

개발자를 위한 Github 계정 및 저장소 정보 공유 서비스
4 stars 0 forks source link

feat: Creating a bulletin board API using Querydsl #29

Closed jjangsky closed 3 months ago

jjangsky commented 3 months ago

관련 이슈

변경 사항

계정 홍보, 저장소 홍보, 신고 게시판 조회 API 생성

주소 : /api/v1/boards

RequestParam

ex: 제목중에 '테스트' 라는 단어가 포함된 계정 홍보 게시글 http://localhost:8082/api/v1/boards?searchWord=테스트&searchType=title&category=BD1

Response

{
    "message": "OK",
    "data": {
        "totalPages": 1,
        "totalElements": 10,
        "size": 10,
        "content": [
            {
                "id": 9,
                "title": "계정 홍보 테스트 게시글8",
                "content": "테스트 게시글 내용8",
                "nickname": "테스트 유저",
                "category": "BD1",
                "member": {
                    "createdDateTime": "2024-08-11T20:47:43.543585",
                    "modifiedDateTime": null,
                    "id": 1,
                    "login": "loginId",
                    "avatarUrl": "/uploads/profile/test.jpg",
                    "name": "테스트 유저",
                    "role": "ROLE_USER"
                }
            },
            {
                "id": 10,
                "title": "계정 홍보 테스트 게시글9",
                "content": "테스트 게시글 내용9",
                "nickname": "테스트 유저",
                "category": "BD1",
                "member": {
                    "createdDateTime": "2024-08-11T20:47:43.543585",
                    "modifiedDateTime": null,
                    "id": 1,
                    "login": "loginId",
                    "avatarUrl": "/uploads/profile/test.jpg",
                    "name": "테스트 유저",
                    "role": "ROLE_USER"
                }
            },
           {...},
           {...}
     }
}

조회 API를 만들기는 했으나 게시글의 노출 방식이나 관련 정책에 따라 몇차례 수정될 것 같습니다.

체크 목록

openmpy commented 3 months ago

@jjangsky 님~ 우선 코드 작성하시느라 고생 많으셨습니다. 코드 정렬 한번만 부탁드리겠습니다.

기능에 오류가 조금 있는거 같습니다. 검색 API 를 호출해본 결과 정상적으로 작동하지 않습니다. 예를 들어 searchWord=샘프&searchType=title&category=BD1 을 입력하고 실행 시키면 제목에 샘프 가 포함된 게시글만 검색 돼야 하는데 카테고리가 BD1 에 해당하는 모든 게시글이 검색됩니다. 또 응답 값에 Member 필드를 보면 Member 엔티티 자체를 내려주고 계신데 MemberInfoDto 로 내려주시면 될거 같습니다. 그리고 검색 기능 API는 로그인 하지 않은 유저들도 사용 가능하게끔 해야한다고 생각하는데 어떻게 생각하시나요?

jjangsky commented 3 months ago

@openmpy API 확인 감사드립니다..!

제가 PR 올릴 시점에는 Request에 대한 필드값을 searchWord, searchType으로 지정을 하였는데 URL에 대문자가 들어가는 점이 불편하여 word, type으로 변경하였는데 이 점을 명시하지 못한 것 같습니다..! 혼란을 드려 죄송합니다 😢

자체적으로 게시글 등록 후 테스트 진행해보았는데 다행이도 정상적으로 출력 되는 것 같습니다. image

코드 style 정리와 Member Entity 반환에 대해서는 다시 수정해서 커밋하겠습니다. 감사합니다 👍

jjangsky commented 3 months ago

@openmpy 추가적으로 저도 조회에 대해서는 비로그인 사용자도 자유롭게 접근이 가능해야 한다고 생각합니다 ! 단, 신고 게시판의 경우는 본인 혹은 관리자만 접근할 수 있는 편이 좋지 않을까 싶습니다.

openmpy commented 3 months ago

@openmpy 추가적으로 저도 조회에 대해서는 비로그인 사용자도 자유롭게 접근이 가능해야 한다고 생각합니다 ! 단, 신고 게시판의 경우는 본인 혹은 관리자만 접근할 수 있는 편이 좋지 않을까 싶습니다.

동의합니다. WebSecurityConfig 부분에 검색 API는 모두 접근 허용으로 설정해주시면 될거 같습니다.

jjangsky commented 3 months ago

@openmpy 님 덕분에 새로운 거 배워갑니다~ 자동으로 import 정리도 해주고 코드 스타일링까지 설정할 수 있다니 편하네요~

해당 PR건은 이렇게 마무리 하겠습니다 👍