RestSharp에서 요청 본문에 텍스트를 추가하는 방법
저는 웹 서비스를 소비하기 위해 RestSharp을 사용하려고 합니다.지금까지 모든 것이 아주 잘 진행되고 있습니다. (존 시핸과 모든 기고자들에게 건배!) 하지만 저는 난관에 부딪혔습니다.RestRequest의 본문에 XML을 이미 직렬화된 형태(즉, 문자열로)로 삽입하려고 합니다.이것을 쉽게 할 수 있는 방법이 있습니까?표시됩니다.AddBody() 기능은 장면 뒤에서 직렬화를 수행하므로 내 문자열이 변환됩니다.<String />
.
어떤 도움이라도 주시면 대단히 감사하겠습니다!
편집: 현재 코드의 샘플이 요청되었습니다.아래 참조 --
private T ExecuteRequest<T>(string resource,
RestSharp.Method httpMethod,
IEnumerable<Parameter> parameters = null,
string body = null) where T : new()
{
RestClient client = new RestClient(this.BaseURL);
RestRequest req = new RestRequest(resource, httpMethod);
// Add all parameters (and body, if applicable) to the request
req.AddParameter("api_key", this.APIKey);
if (parameters != null)
{
foreach (Parameter p in parameters) req.AddParameter(p);
}
if (!string.IsNullOrEmpty(body)) req.AddBody(body); // <-- ISSUE HERE
RestResponse<T> resp = client.Execute<T>(req);
return resp.Data;
}
다음은 일반 xml 문자열을 요청 본문에 추가하는 방법입니다.
req.AddParameter("text/xml", body, ParameterType.RequestBody)
;
@dmitreyg의 답변에 추가하고 @jrahhali의 답변에 대한 의견을 따라 현재 버전에서 게시된 시점 현재는 다음과 같습니다.v105.2.3
, 구문은 다음과 같습니다.
request.Parameters.Add(new Parameter() {
ContentType = "application/json",
Name = "JSONPAYLOAD", // not required
Type = ParameterType.RequestBody,
Value = jsonBody
});
request.Parameters.Add(new Parameter() {
ContentType = "text/xml",
Name = "XMLPAYLOAD", // not required
Type = ParameterType.RequestBody,
Value = xmlBody
});
언급URL : https://stackoverflow.com/questions/5095692/how-to-add-text-to-request-body-in-restsharp
'source' 카테고리의 다른 글
C의 여러 소스 파일은 정확히 어떻게 파일을 작동합니까? (0) | 2023.09.27 |
---|---|
CSS 무단 회전 애니메이션 (0) | 2023.09.27 |
AttributeError: 'WSGIRquest' 개체에 'is_ajax' 속성이 없습니다. (0) | 2023.09.27 |
Laravel PDO Exception SQLSTATE[HY000] [1049] 알 수 없는 데이터베이스 '위조' (0) | 2023.09.27 |
워드프레스에서 내보낸 두 Json 파일을 결합합니다. (0) | 2023.09.27 |