2024-05-16(105일차)

·2024년 5월 16일

2024-05-16, 105일차


gradle 버전 변경, 스프링 시큐리티 설정 끄기

  • 이 상태에서는 Tests가 오류가 난다!
    • 해결책 -> 버전을 다운 시켜야 한다

  • 또한 security도 꺼줘야 한다
    • 여기에서 csrf().disable() 설정은 안좋아서 끄는게 아니라, 방식이 안맞아서 종료시기는 것이다

  • 이렇게 버전을 낮추면 정상적으로 기능들이 구현을 한다

NotProd에 의해 앱 시작시 회원 2명 자동 생성

  • 나머지의 코드들도 있지만 위 코드가 앱 시작 시 자동으로 생성해주는 부분이다

responese.getheader에서 Authentication에 대한 정보가 아직 없기때문에 에러가 난다

![](

  • 이런 결과가 나오는데 아직 user name과 비번만 설정하고 body부분과 파라메터는 없기 때문에 빈공간으로 나온다
    • Headers부분에 JWT토큰이 있다
  • 그렇다고 해서 작동을 안 하고 있는 것은 아니다 status는 200으로 정상작동 하고 있는 걸 볼 수가 있다

JwtProvider에 의해서 진짜 토큰이 만들어지도록

  • 실행하면 200으로 잘 실행됐다는걸 알 수 있고, Body에 응답본문 이라는 대답으로 테스트데이터가 잘 들어갔다는 응답을 받았다는 사실을 알 수가 있다

응답의 규격화

  • body에 나왔던 응답 본문이라는 내용을 수정해 주었다

RsData와 LoginResponse 클래스 도입, 규격화 더 쉽게 하도록

  • 다시 한번 위에 처럼 수정을 하였다
  • RsData를 생성하고 나서 PostMan에서 실행을 해주면 아래와 같이 나온다

헤더를 통한 액세스 토큰 전송 삭제, 응답 json을 더 정밀하게 테스트

  • 보여질 부분을 수정하여 더 간단하게 했다

API 버저닝

  • 기존에 있던 MemberController에서 Api1MemberController로 이름을 변경해줬다

  • 또한 PostMan도 member/login을 api/v1/member/loing으로 바꿔준다

member/me 추가

  • consumes = APPLICATION_JSON_VAULE 부분이 있는데 JSON형태로 값을 받아서 밑에 로그인- - Requset/Response에 영향을 준다.

    • 근데 me가 붙은 URL은 GET방식이므로 JSON형식에 영향을 받지 않는다.
  • GET 방식이니까 POST방식에서 한 중괄호 안에 데이터값을 넣어주던 부분이 안 나올 수 밖에 없다

memebr/me TestCase

  • 엔티티가 그대로 외부 API에 노출되면 안된다

  • createDate가 노출되면 안되기때문에 MemberDto를 만들어서 숨겨준다

  • MemberDto는 외부에 노출되는 규격을 정해서 양식을 정해준다(외부에 그대로 데이터가 보여주는게 아닌 한겹감싸서 보여지게 된다)

    • 결국엔 이 작업이 필요해짐, 개발 초반에는 DTO 필요없음(사용안함), 어느정도 방향성이 정해지면 필요해짐, 외부에 API에서 바라는요청 또는 내부 개발용(내부에서 바랄때)
      예) 외부 regDate인데 / 내부적 createDate 즉, 어느 지점에서 뭔가 달라져야할때가 있다
  • 처음부터 도입은 NO


@RestController로 설정해놓으면 자동으로 @ResponseBody가 생성된다

profile
hello world

0개의 댓글