heyallan
(Allan Moreno)
1
프론트엔드는 빈 검색을 허용하지 않으며, 검색어가 너무 짧다는 설명을 담은 유용한 메시지를 표시합니다.
그러나 API 엔드포인트는 여전히 빈 검색을 허용하며, 응답은 NULL 값을 가진 JSON 객체와 200 상태 코드입니다.
API가 설명적인 오류 메시지와 함께 400 상태 코드를 반환해야 하지 않나요?
기대되는 동작:
// 400 error
{
"errors": [ "요청에 잘못된 매개변수를 제공했습니다: q" ],
"error_type": "invalid_parameters"
}
실제 동작:
// 200 ok
{
"grouped_search_result": null
}
sam
(Sam Saffron)
2
API는 분명히 여기서 개선될 수 있지만, 쿼리 루트는 많은 인수를 허용합니다:
여기서는 min_search_term_length가 필수 요구 사항인지, 선택 사항인지에 대해 매우 신중하게 확인해야 합니다.
heyallan
(Allan Moreno)
3
@sam 감사합니다
현재 상태는 다음과 같습니다:
- 빈 검색은 API에서 처리되지 않는 상태입니다.
- 검색 엔드포인트는 검색어를 받는 동시에 메타데이터 인자(사용자, 카테고리, 태그 등)도 받습니다.
- 메타데이터 인자는 API 문서에记载되어 있지 않습니다.
- 프론트엔드는 검색을 올바르게 검증하지만, 백엔드 API는 부분적으로만 검증하여 빈 검색이 통과하도록 허용하고 있습니다.
- 어떤 경우든 응답 메시지는 설명적으로 작성되어야 합니다.
이 개요가 도움이 되기를 바랍니다.
개인적으로 이는 버그라고 생각합니다. 이것이 의도된 동작이라면 놀라울 것입니다.
어쨌든 감사합니다 