모든 개발자를 위한 HTTP 웹 기본 지식
수강 중HTTP(HyperText Transfer Protocol)
: 문서 간 링크인 하이퍼텍스트 전달하는 규약Stateful
(상태 저장) : 중간에 응답 서버 바꿀 수 없음Stateless
(무상태 지향) : 응답 서버를 쉽게 바꿀 수 있다 = 무한 서버 증설 가능(scale out 수평확장 용이), 장애 생긴 서버 대체 가능start-line
header
empty line 공백라인(CRLF)
: 필수message body
input
태그에는 th:value="${post.content}"
를 이용하여 기존 내용 값을 넣었는데, textarea
태그에는 이 방식이 먹히지 않았음textarea
에는 th:text
로 값을 넣을 수 있었음<textarea class="form-textarea" autocomplete="off" placeholder="내용을 입력하세요" th:text="${post.content}" name="content" id="content" cols="20" rows="5"></textarea>
integrationTest 에러 때문에 빌드가 실패했다. 게시물 삭제()에서 assertion한 결과값이 내 예상과 계속 다르게 나오는 문제 때문이었다. 문제는 예전에 발견했는데 실제 구동해보면 삭제는 잘 되는 상태라 테스트 코드를 잘못 작성한 것 같다고 추측만 하고 수정 없이 넘어갔었다.
// PostServiceIntegrationTest.java
@Test
void 게시물삭제 () {
...
postRepo.delete(savedPost.getPostId());
// 기존
// Assertions.assertThat(postRepo.hasPost(savedPost.getPostId())).isEqualTo(false);
// 새로운 방식
List<Post> result = postRepo.findAll();
Assertions.assertThat(result.size()).isEqualTo(0);
}