Alamofire POST 요청을하려고합니다. 이것이 제가 요청하는 방법입니다 ..
Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding(destination: .queryString), headers : headers)
.responseString { response in
print(response.result)
}
결과는 'SUCCESS'로 표시되지만 상태 코드는 항상 405로 표시되지만 200은되어야합니다. 요청의 '인코딩'부분에서 JSONEncoding.default, JSONEncoding과 같은 모든 것을 시도했습니다. prettyPrinted, URLEncoding.httpbody ...하지만 항상 상태 코드는 여전히 405입니다. 누구든지 도와 주시겠습니까? 미리 감사드립니다 ...
- 답변 # 1
- 답변 # 2
이 문제에 대한 해결책입니다 ... 몇 가지 사항을 변경해야합니다.
제공된 헤더는 다음과 같습니다 : let headers = [ "Content-Type": "application/json"]. 그러나 헤더 = [ "Content-Type": "application/x-www-form-urlencoded"] 여야합니다. 또한 인코딩은 URLEncoding.httpBody로 제공되어야합니다.
이러한 변경으로 인해 제대로 작동했습니다 ...
- 답변 # 3
같은 문제에 직면했습니다. API 엔드 포인트는 Android Retrofit에서 잘 작동했으며 PostMan에서도 테스트되었습니다. 또한 헤더의 Content-Type은 application/json이었습니다. 정말 이상한 버그였습니다. Fiddler를 사용하여 응답을 확인했습니다. 오류 메시지는
와이즈 비즈GET/POST 방법을 사용했지만 GET/POST 대신 T/ST를 사용하고 있다고했습니다
Alamofire의 문제에서 답을 찾았습니다.
매개 변수없이 API 엔드 포인트를 호출 할 때 빈 사전을 매개 변수로 사용했습니다.
와이즈 비즈아니로 변경했습니다
와이즈 비즈 그 후, 그것은 잘 작동했습니다. 그것이 도움이되기를 바랍니다. 건배! - 답변 # 4
교체를 시도하십시오 :
The HTTP 405 Method Not Allowed response status code indicates that the request method is known by the server but has been disabled and cannot be used. The two mandatory methods, GET and HEAD, must never be disabled and should not return this error code.
The requested resource does not support http method 'T'/'ST'.
Alamofire.request("URL", method: .get, parameters: [:], encoding: JSONEncoding.default).responseString(completionHandler: completionHandler)
Alamofire.request("URL", method: .get, parameters: nil, encoding: JSONEncoding.default).responseString(completionHandler: completionHandler)
좋아요 :
responseString
responseJSON
관련 자료
- javascript - HTTP 상태 코드를 얻기위한 HTTP 요청이지만 내용이 없음
- c# - NET Core TestServer는 존재하지 않는 경로에 대한 요청 후 404 대신 상태 200을 반환합니다
- wordpress - admin-ajaxphp를 사용한 AJAX POST 요청의 상태 400
- java - Post Request 반환 상태 코드 500 Spring Boot 백엔드에 대한 Angular 요청
- python : 요청 받기는 헤더를 사용한 후에도 403 상태 code를 반환합니다.
- postgresql - 라우터에 수집 사양을 제출할 때"감독자를 제출하지 못했습니다 - 요청이 상태 코드 502로 실패했습니다"
- node.js - 양식의 게시 요청 상태를 "잡는"방법은 무엇입니까?
- python - 비어 있지 않은 메시지를 보내는데도 "httpexception - bad request (상태 코드 : 400) : 빈 메시지를 보낼 수 없음"을 반환하는 discord bot
- promise - 자바 스크립트는 요청 노드 모듈을 사용하여 한 번에 모든 상태를 인쇄합니다
- apache - 일부 안드로이드 장치에서 POST 요청 HTTPUrlConnection의 502 (서버 끊기) 상태 코드
- 안드로이드 9 RTT 범위 요청 상태 1
- sonarqube - 소나가 github pull 요청에 대한 상태를보고하지 않습니다
- javascript - 노드 게시 요청에 권한이없는 서버 상태가되었지만 클라이언트 가져 오기 API가 아닙니다
- ios : xib 파일에서 여러 TableViewCell을 등록하는 방법은 무엇입니까?
- ios : 치명적인 오류없이 버튼 선택을 재정의하는 방법
- ios : 메인 앱과 위젯간에 데이터를 공유하는 방법은 무엇입니까?
- ios : ARSCNView에서 여러 노드를 이동하는 방법
- ios : 분할 오류 : 11 (Eureka 라이브러리와 관련 없음)
- iOS 프레임 워크에 기능을 추가하는 방법은 무엇입니까?
- iOS 13 및 기타에서 preferredStatusBarStyle이 호출되지 않음
- ios : 신속하게 버튼을 탭하면 테이블보기에 셀 추가
- iOS에서 UITableview의 셀이 스 와이프 중인지 어떻게 감지 할 수 있습니까?
- ios : swiftUI의 버튼에 SF 기호가 표시되지 않음
이 상태 코드는 서버가 API를 비활성화 할 때만 발생하기 때문에 서버에 문제가 있다고 생각합니다
와이즈 비즈따라서 서버 (백엔드 개발자)에게 연락하여 URL이 올바른지 확인하십시오.