“공개 사용자 목록 가져오기” 엔드포인트로 테스트를 하던 중, 나머지 사용자를 가져오기 위해 페이지네이션이 필요했습니다. 다음 페이지의 경로를 가져오기 위해 load_more_directory_items 필드를 사용했는데, 해당 경로는 /directory_items?order=days_visited&page=1&period=all로 표시되어 있었습니다.
하지만 이 경로를 사용하면 사용자 정보가 포함된 올바른 API 응답을 받지 못하고 HTML만 반환되었습니다. 원래 엔드포인트와 비교해 보니 directory_items 뒤에 .json이 누락되어 있는 것 같습니다. 다음 페이지 경로에 .json을 추가하니 정상적으로 동작했습니다. 이것이 API 버그인가요?
API를 사용할 때는 대부분의 엔드포인트가 기본적으로 JSON을 반환하지만 일부는 HTML을 반환하므로, 모든 API 요청에 반드시 .json을 사용해야 합니다. 이 라우트는 기본적으로 .json을 처리하지 않는 것 같아서, .json이 전달되지 않았을 때 라우트를 찾을 수 없었던 것으로 보입니다.
이러한 오류 페이지를 받지 않으려면 .json을 명시적으로 지정하는 것이 좋습니다. 하지만 API 호출을 감지할 때, 200 상태 코드와 읽을 수 없는 HTML 본문 대신 실제 404 HTTP 응답을 반환해야 하는지 궁금합니다 ?