0
쿼리 문자열에 앰퍼샌드가있는 웹 API 동작에 어떻게 접근합니까?쿼리 문자열에 앰퍼샌드가있는 Web Api 동작
이 작동 :
http://localhost:12345/api/MyController/MyAction?user=test&pw=abc123
이되지 않습니다
http://localhost:12345/api/MyController/MyAction?user=test&pw=abc123
오류 메시지가 : 나는 웹 API 자동으로 쿼리 문자열 매개 변수를 디코딩 할 것이라고 생각
{
"message": "No HTTP resource was found that matches the request URI 'http://localhost:12345/api/MyController/MyAction?user=test&pw=abc123'.",
"messageDetail": "No action was found on the controller 'MyController' that matches the request."
}
하지만 apperently을 하지 않습니다 ...
저에게 명백합니다. 요점은 어떻게 그것을 앰퍼샌드와 함께 사용할 수 있습니까? URL은 XML 파일로 제공되므로이 파일을 이스케이프 처리해야합니다. – iappwebdev
HTTP 사양은이 방법으로 보내지 않고 두 개의 쿼리 문자열 변수로 해석하도록 허용하지 않습니다. 옵션은 1) 보내기 전에 이스케이프 처리하지 않거나 2) API가 "사용자"를 수락 한 다음 도착한 후에 C#으로 파싱합니다. # 2는 해킹 된 것처럼 보입니다. # 1은 더 의미가 있습니다. API를 호출하는 코드에서 어떤 언어를 사용하고 있는지 확실하지 않으므로이를 이스케이프 처리하는 방법을 제안하는 방법을 모르겠습니다. – grayimp
좋아, 1 번에 갈거야, 고마워! – iappwebdev