API, które próbuję wywołać, wymaga wykonania POST, ale z pustą treścią. Jestem nowy w używaniu HttpClient interfejsu API WCF Web API i nie mogę znaleźć kodu zapisu, który wykonałby post z pustą treścią. Znajduję odniesienia do niektórych metod HttpContent.CreateEmpty (), ale nie sądzę, aby dotyczyło to kodu HttpClient interfejsu API sieci Web, ponieważ nie mogę znaleźć tej metody.
c#
httpclient
wcf-web-api
Ryan Rinaldi
źródło
źródło
Odpowiedzi:
Użyj
StringContent
lubObjectContent
które pochodząHttpContent
lub możesz użyćnull
jakoHttpContent
:var response = await client.PostAsync(requestUri, null);
źródło
HttpContent
klasy? Czy powinniśmy przynajmniej podać coś (nawet pusty ciąg znaków), aby utworzyć post http?null
jakoHttpContent
, to nie wyśle treści w żądaniu, np.var response = await client.PostAsync(requestUri, null);
Robiłem to już wcześniej, po prostu nie komplikuj:
źródło
Stwierdziłem, że:
Dodaje wartość null do treści żądania, które nie powiodło się na WSO2. Zastąpiony:
I działał.
źródło
null
zawartością i patrzę na zawartość znajdującą się wHttpRequestMessage
, wydaje mi się, że otrzymuję długość równą zeru.Aby rozwiązać ten problem, skorzystaj z tego przykładu:
źródło
Myślę, że robi to automagicznie, jeśli Twoja metoda internetowa nie ma parametrów lub wszystkie pasują do szablonu adresu URL.
Na przykład ta deklaracja wysyła puste treści:
źródło