Вместо того, чтобы иметь методы как void
, вам нужно return
строковое значение из методов контроллера.Кроме того, не забудьте украсить методы соответствующим HTTP-глаголом attribubte (HttpGet, HttpPost, HttpPut
и т. Д.), За который отвечает метод.
Вот пример, в котором метод возвращает результат Ok, при этом генерируетсяhttp код состояния 200 со строкой в теле ответа
[HttpPost]
public IHttpActionResult Post([FromBody]string value)
{
return Ok(value);
}
Затем для вызова клиента.Прежде всего, вам нужно правильно указать маршрут к контроллеру
192.168.1.15:8282/api/Customers
Затем отправка одной строки в качестве содержимого при использовании типа содержимого application/json
не подходит, так как json всегда начинает анализ собъект {}
или массив []
.Поэтому самый простой способ отправки одной строки - просто изменить тип содержимого на application/x-www-form-urlencoded
и добавить знак =
перед строкой
using (var client = new HttpClient())
{
var response = await client.PostAsync("http://192.168.1.15:8282/api/Customers",new StringContent("=Mystring", Encoding.UTF8, "application/x-www-form-urlencoded"));
if (response.IsSuccessStatusCode)
{
string content = await response.Content.ReadAsStringAsync();
}
}