JSON을 보냈는데 Spring API가 415라면 Content-Type부터 본다
JSON처럼 보이는 본문도 요청 Content-Type이 맞지 않으면 415로 거절된다. 같은 입력의 헤더 누락·text/plain·application/json과 깨진 JSON을 실제 비교해, 매핑 실패와 DTO 변환 실패를 구분하고 헤더 수정 뒤 400이 나타나는 이유를 설명한다.
빌드노트
검색어를 입력해 글을 찾아보세요.
총 480개의 글
JSON처럼 보이는 본문도 요청 Content-Type이 맞지 않으면 415로 거절된다. 같은 입력의 헤더 누락·text/plain·application/json과 깨진 JSON을 실제 비교해, 매핑 실패와 DTO 변환 실패를 구분하고 헤더 수정 뒤 400이 나타나는 이유를 설명한다.
Spring MVC의 POST 405를 실제 요청 메서드·Allow·클래스와 메서드 매핑으로 좁힌다. 짧은 MockMvc 출력으로 404와 구별하고, consumes 415·필수 인자 400·필터 거절이 멈추는 단계를 비교한다.
Bash의 {1..$n}은 매개변수 확장보다 먼저 처리되어 숫자 목록이 되지 않는다. 짧은 출력 비교로 문자열 하나가 남는 것을 확인하고, 0..99 입력 검증과 산술 for로 변수 횟수를 표현한다. 0회·선행 0·POSIX sh의 경계도 구분한다.
PostgreSQL에서 열 생략·DEFAULT·명시적 NULL·지정값을 RETURNING으로 비교한다. NOT NULL 대조를 통해 기본값 요청과 NULL 거부를 구별하고 INSERT 입력 계약을 정한다.
TreeSet은 비교 결과가 0이면 equals가 false인 객체도 같은 원소로 취급한다. 짧은 JShell 조회로 add·size·contains의 차이를 확인하고, equals와 일치하는 동점 기준을 추가할지 원본 목록을 정렬할지 결정한다.
Period.getDays()는 연·월·일 중 일 성분이다. 고정 날짜로 40일 구간과 평년·윤년의 한 달을 비교하고, 전체 일수에 ChronoUnit.DAYS.between을 쓰는 기준과 종료일 제외·음수 처리까지 확인한다.
PostgreSQL의 varchar(3)은 직접 INSERT와 명시적 캐스팅에서 길이 초과 처리 방식이 다르다. 영문·한글·초과 공백·탭을 비교하고, 원본 char_length 검증과 text의 CHECK 제약으로 잘린 값의 저장 대신 입력 거부를 선택한다.
응답용 HashMap을 Map.of로 바꾸면 null 키·값이 생성 시점의 NPE로 이어진다. 실제 Java·JShell 비교로 Map.copyOf와 중복 키 실패를 구분하고, 항목 생략과 명시 null 보존을 API 의미에 맞게 선택한다.
PowerShell 7에서 JSON 배열을 파이프로 왕복 변환하면 빈 배열은 출력이 없어지고 한 원소 배열은 객체가 될 수 있다. NoEnumerate와 직접 InputObject 전달을 비교하고, 변수를 다시 파이프로 보낼 때 생기는 열거와 버전 차이를 확인한다.
문자열로 만든 2.0과 2.00은 숫자는 같지만 scale이 달라 equals가 false다. HashSet 2개·TreeSet 1개라는 실제 결과를 비교하고, 변경 감지와 키에 같은 동등성 규칙을 적용하는 방법 및 반올림 없이 정규화할 조건을 설명한다.
작은 Integer에서 통과한 == 비교가 큰 ID에서 어긋나는 이유를 JShell로 확인한다. 캐시의 관찰과 Java 17의 보장 범위를 나누고, null을 허용하는 값 비교와 언박싱 예외를 설명한다.
Java 날짜 출력에서 YYYY는 주차 기준 연도다. 미국·영국 Locale의 연말·연초 고정 날짜를 비교하고, 날짜 키에는 ISO_LOCAL_DATE·uuuu를, 주차 키에는 주차 연도와 번호를 선택하는 기준을 설명한다.