빈 요청은 400인데 {}는 통과하는 Spring @RequestBody
JSON 헤더가 맞아도 본문 0바이트와 {}는 다르게 처리된다. MockMvc에서 응답·예외·컨트롤러 호출을 비교하고, required=false의 null 처리와 깨진 JSON이 여전히 400인 이유를 설명한다.
빌드노트
검색어를 입력해 글을 찾아보세요.
총 480개의 글
JSON 헤더가 맞아도 본문 0바이트와 {}는 다르게 처리된다. MockMvc에서 응답·예외·컨트롤러 호출을 비교하고, required=false의 null 처리와 깨진 JSON이 여전히 400인 이유를 설명한다.
jsonb의 @>는 배열 원소의 순서와 중복 횟수를 구분하지 않는다. PostgreSQL 18.6에서 포함과 동등 비교를 대조하고, 양방향 포함에 길이를 더해도 값별 개수는 같지 않을 수 있음을 확인한다. 배열 전체의 일치와 개수 비교를 구별해 조건을 선택한다.
origin의 일반 URL을 바꿔도 별도 pushurl이 남으면 push는 이전 주소를 사용한다. fetch URL과 모든 push URL을 따로 조회하고, 공유 URL로 합치거나 push 주소만 바꾸는 방법을 로컬 bare 저장소의 수신 ref로 확인한다.
ByteBuffer에 값을 넣은 뒤 엉뚱한 영역을 읽는 이유를 position·limit·remaining으로 확인한다. 작은 heap 버퍼와 메모리 채널의 실제 비교로 flip, clear, rewind의 선택 기준과 내용 보존을 설명한다.
Spring Boot의 Duration 속성에서 단위 없는 30이 30ms로 바인딩되는 이유를 확인한다. 실제 getter 출력과 단위 선언 유무의 비교를 바탕으로 30s·PT30S를 쓰는 경우와 @DurationUnit으로 기존 숫자의 의미를 유지하는 경우를 구별한다.
모든 줄에 LF가 필수인 Bash 입력에서 마지막 줄을 거부해도 앞선 작업은 남을 수 있다. 작은 파일을 배열에 모아 전체 검증 뒤 처리하는 코드와 실제 기록 1개→0개 비교로 부분 처리를 막는 범위와 한계를 설명한다.
Spring MVC의 @RequestParam 기본값은 누락과 빈 문자열을 합친다. MockMvc에서 String·Integer·int의 여섯 입력과 두 커스텀 바인더를 비교하고, 누락만 허용하려면 원래 문자열이 남아 있을 때 검증해야 하는 이유를 설명한다.
Spring MVC에서 tag=a,b는 두 원소가 되지만 tag=a,b&tag=c는 첫 값의 쉼표가 남는다. 원문 배열·List·String[]·MultiValueMap의 실행 결과와 변환 경로를 비교하고, 쉼표를 데이터로 보존할 입력 계약을 고른다.
파일 이름에 검색어가 보이는데 PowerShell -contains가 False라면 전체 항목과 부분 문자열을 구별해야 한다. 같은 문자열과 배열에서 -contains, -like, String.Contains의 값·반환형을 비교하고 대소문자와 대괄호 검색어에 맞는 선택을 설명한다.
singleton에 직접 주입한 prototype은 메서드를 다시 호출해도 같은 객체다. 짧은 생성자 수정과 작업 시 ObjectProvider 조회를 비교하고, 실제 ID·참조·생성 수로 생성자 캐시와 singleton 대상의 재사용도 구분한다.
조건부 GET에 If-None-Match와 If-Modified-Since를 함께 보내면 날짜 조건은 판단에서 빠진다. Werkzeug 3.1.9의 실제 WSGI 응답을 태그·날짜 단독 요청과 비교하고, 날짜만 보고 304를 반환하는 분기를 고치는 위치를 설명한다.
Collectors.toMap은 같은 ID가 다시 나오면 값을 덮어쓰지 않고 예외를 던진다. JShell에서 정상·중복 입력을 비교하고, 수량 합산은 병합 함수로, 원본 행 보존은 groupingBy로 선택하는 기준을 확인한다.