-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HTTP 서버 구현하기 - 2, 3단계] 에어(김준서) 미션 제출합니다. #65
Conversation
Controller 인터페이스 변경 rendering 책임 객체 분리 패키지 구조 변경
로컬 text/javascript | 소나큐브 application/javascript
Kudos, SonarCloud Quality Gate passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
} catch (GlobalException e) { | ||
response.redirect("/" + e.getStatusCode().getCode() + ".html"); | ||
} catch (Exception e) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 statusCode로 redirect 시키는 방법 좋네요 👍
public class Cookie { | ||
private String name; | ||
private String value; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 Cookie를 Map<>이 아니라 객체로 만드셨군요 👀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map으로 파싱해서 저장해보라는 힌트를 보지 못했었네요ㅎㅎ..
public static boolean isGet(HttpMethod httpMethod) { | ||
return GET == httpMethod; | ||
} | ||
|
||
public static boolean isPost(HttpMethod httpMethod) { | ||
return POST == httpMethod; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
private final static String SEPARATOR = " "; | ||
|
||
private final HttpMethod httpMethod; | ||
private final String requestTarget; | ||
private final HttpVersion httpVersion; | ||
|
||
public StartLine(HttpMethod httpMethod, String requestTarget, HttpVersion httpVersion) { | ||
public RequestLine(HttpMethod httpMethod, String requestTarget, HttpVersion httpVersion) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
코드를 보니 이 생성자를 쓰는 곳이 정적팩토리 메서드와 테스트코드 뿐이던데
테스트코드에서도 from
을 사용하도록 수정하면 이 생성자를 private으로 가져갈 수 있겠네요!
회원가입 시 id를 저장해주지 않아 발생하는 문제였네요 ㅎㅎ |
안녕하세요 바다!
리팩토링과 쿠키, 세션 적용해봤습니다!
필터를 쓰듯이 요청에 맞는 컨트롤러를 찾기 전에 session을 할당해주고, 모든 로직이 끝나고 session 저장 & 쿠키에 담겨있지 않은경우 담아주는 식으로 구현해봤습니다. 실제 내부에서 세션을 호출할 때만 JSESSIONID를 생성하는식으로 하고 싶었는데 argumentResolver나 DI를 구현하지 못하여 현재는 모든 요청에서 request 헤더에 JSESSIONID가 없는 경우라면 생성해주는 식으로 하고 있습니다.실제 세션 사용시에 세션을 생성하는 형식으로 변경하였습니다.
피드백 잘 부탁드려요~~ 감사합니다! 🙏🙏