>  기사  >  백엔드 개발  >  POST를 사용하여 GET 동일한 끝점에 추가하고 다른 쿼리는 일관되지 않은 오류 메시지로 끝납니다.

POST를 사용하여 GET 동일한 끝점에 추가하고 다른 쿼리는 일관되지 않은 오류 메시지로 끝납니다.

WBOY
WBOY앞으로
2024-02-11 20:50:11766검색

使用 POST 添加到 GET 相同的端点和不同的查询最终会出现不一致的错误消息

php 편집기 Banana는 모든 사람의 일반적인 질문에 답하기 위해 왔습니다. POST를 사용하여 동일한 끝점과 다른 쿼리를 GET에 추가하면 일관되지 않은 오류 메시지가 나타날 수 있습니다. 웹 개발에서 GET 및 POST는 서버에 데이터를 전달하기 위해 일반적으로 사용되는 HTTP 요청 방법입니다. GET 메서드는 데이터를 URL에 추가하는 반면, POST 메서드는 요청 본문에 데이터를 캡슐화합니다. GET 요청의 동일한 엔드포인트에 POST 요청을 추가할 때 쿼리 매개변수가 다르면 일관성 없는 오류 메시지가 발생할 수 있습니다. 이는 서버가 요청 방법 및 쿼리 매개변수에 따라 요청을 처리하기 때문입니다. 쿼리 매개변수가 다르면 서버가 다른 결과를 반환할 수 있습니다. 따라서 POST 및 GET 요청을 사용할 때 예기치 않은 오류 메시지를 방지하려면 엔드포인트와 쿼리 매개변수의 일관성에 주의해야 합니다.

질문 내용

다른 메소드를 사용하여 동일한 경로를 추가할 때 각 메소드 쿼리 가져오기 호출의 응답이 다르지만 다른 메소드는 게시되므로 영향을 받지 않습니다.

게시물: 플레이그라운드: https://go.dev/play/p/xzoakpehggy

으아아아

예상 404, 실제 405

게시물 삭제 시 플레이그라운드: https://go.dev/play/p/exif00_wrfw

으아아아

결과는 404입니다

요청 받기의 경우 라우팅과 결과가 일관되어야 합니다. 404-s

이 문제를 이전에 겪어본 사람이 있는지 궁금합니다.

해결 방법

라우터는 경로 및 쿼리 매개변수를 기반으로 일치하는 항목을 찾으려고 시도합니다. 쿼리 문자열 매개변수가 요구 사항을 충족하지 않아 경로 가져오기가 일치하지 않았습니다.

하지만 해당 경로는 해당 쿼리 매개변수에 관심이 없기 때문에 해당 경로는 게시물 경로와 일치합니다. 그러다가 요청 메소드를 확인해 보니 해당 경로와 일치하지 않아 405 method not allowed가 반환됩니다(경로에는 핸들러가 있지만 메소드가 다릅니다).

동일한 경로에 대해 포괄적인 get 핸들러를 추가하면 원하는 동작을 얻을 수 있습니다.

으아아아

위 내용은 POST를 사용하여 GET 동일한 끝점에 추가하고 다른 쿼리는 일관되지 않은 오류 메시지로 끝납니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제