我有一个非常简单的需求。1、使用POST方法向调用端点发送单个字符串。2、根本不想要Get请求。不想为传入/传出参数创建模型。
我几乎尝试了所有我能在网上找到的东西。大多数示例都是创建DTO对象,这似乎只是为了发送简单的字符串。由于字符串的大小,不建议使用HTTPGet。我正在获取未找到端点错误
[Route("GetVar")]
[HttpPost]
public HttpResponseMessage GetVar([FromBody] string incomingvar)
{
return Request.CreateResponse(HttpStatusCode.OK,"10pk" );
}
public async Task<HttpResponseMessage> GetVar(string incomingvar)
{
var content = "{"incomingvar" : incomingvar}";
var json = JsonConvert.SerializeObject(content, Formatting.Indented);
var stringContent = new StringContent(json);
_httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
return await _httpClient.PostAsync(url, stringContent);
}
尝试这样做:
[HttpPost("GetVar")]
public async Task<HttpResponseMessage> GetVar([FromBody] object incomingvar)
{
//Do work here
}
然后这样调用您的方法:https://localhost:7292/api/controllername/GetVar
显然,您的本地主机部分和端口会有所不同,但想法是一样的。