> 웹 프론트엔드 > JS 튜토리얼 > HTTP 상태 - Rest API에 대한 메서드가 허용되지 않음 오류 -> 해결 방법

HTTP 상태 - Rest API에 대한 메서드가 허용되지 않음 오류 -> 해결 방법

Linda Hamilton
풀어 주다: 2024-12-06 11:52:14
원래의
445명이 탐색했습니다.

HTTP Status  - Method Not Allowed Error for Rest API -> 솔루션 솔루션" />

안녕하세요, 동료 개발자 여러분?‍?. 내가 잘하고 있으니까 너도 잘 지내길 바라. 오늘은 405 Method Not Allowed를 겪고 있는 여러분 중 일부를 구출하기로 결정했습니다. REST API를 생성하든 URL을 요청하든 405 오류가 발생합니다. 이 기사에서 다뤘습니다.

내 URL을 요청하려고 했는데 위에서 언급한 오류가 발생했습니다
제가 요청한 URL은 다음과 같습니다

http://localhost:8080/users/services/start/import

@Path("/start")

public class StartService {
@GET
@Path("/import")
@Produces({"text/plain","application/xml","application/json"})
public String getVersion() {
    String ver="";

    try{


          Runtime rt = Runtime.getRuntime();
          Process pr = rt.exec("C:\server\dgr -v" );

          BufferedReader stdInput = new BufferedReader(new InputStreamReader
(pr.getInputStream()));
          BufferedReader input = new BufferedReader(stdInput);
         // String ver ="";
          StringBuffer verOutput = new StringBuffer();
                while((ver =  input.readLine()) != null){
                    verOutput.append(ver + "\n");
                    System.out.println(ver);
                }


        }catch (Throwable t)  
          {  
            t.printStackTrace();  
          }  


        finally {  

        }
    return ver;  }

}
로그인 후 복사

오류 원인과 해결 방법을 조사한 결과 POST 요청이나 VSV만 허용하는 항목에 대해 Get 요청을 시도하면 405 오류가 발생할 수 있음을 발견했습니다.
둘째, https가 필요한 메소드에서 http:를 시도했을 수도 있습니다

오류 원인이 컨텐츠 유형 문제인 것을 확인했습니다
@Produces({"text/plain","application/xml","application/json"})
을 변경했습니다. 이에

@Produces("text/plain") 광고가 완벽하게 작동했습니다.

API로 전송되는 헤더/콘텐츠 유형이 예상한 것과 일치해야 하기 때문입니다. 그렇지 않으면 HTTP 405가 반환됩니다.

이러한 유형의 오류에 대해 자세히 알아보려면 이 링크를 방문하세요

같은 오류가 발생할 경우 확인할 수 있는 부분

CORS 문제:

프런트엔드와 백엔드가 서로 다른 포트에서 실행 중인 경우(예: 4200의 프런트엔드 및 8080의 백엔드) 프런트엔드 원본의 요청을 허용하도록 백엔드 서버에 CORS(Cross-Origin Resource Sharing)가 올바르게 구성되어 있는지 확인하세요3.

서버 응답 디버깅:
들어오는 요청과 해당 메소드를 캡처하려면 서버 측에서 로깅을 구현하십시오. 이는 요청이 서버에 도달하는지 여부와 요청이 어떻게 처리되고 있는지 확인하는 데 도움이 됩니다.

도구를 사용한 테스트:
Postman 또는 cURL과 같은 도구를 사용하여 엔드포인트에 POST 요청을 수동으로 보냅니다. 이렇게 하면 문제가 Angular 애플리케이션 내부에 있는지 아니면 서버 자체에 있는지 구분하는 데 도움이 됩니다.

아래 댓글로 여러분의 생각을 공유해주세요⬇️
즐거운 화요일 보내세요??

위 내용은 HTTP 상태 - Rest API에 대한 메서드가 허용되지 않음 오류 -> 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿