當我試圖用postman發布原始文本時,服務器回答405不允許。我嘗試添加
app.UseCors(options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());/p>
services.AddCors();
沒有任何解決方案。
以下是應用程式的代碼:
[Route("api/[controller]")/span>]
[ApiController]
public class VideoWallController : ControllerBase
{
//GET: api/<ValuesController>/span>
[HttpGet] 。
public IEnumerable<string> Get()
{
return new string[] { "value1"/span>, "value2"/span> };
}
// GET api/<ValuesController>/5
[HttpGet("{id}")]
public string Get(int id)?
{
return "value"。
}
//POST api/<ValuesController>/span>
[HttpPost]
public string prova([FromBody] VideoCallBack test)
{
return "true;"。
}
[HttpPost]
public void teststring(string test)
{
}
//PUT api/<ValuesController>/5
[HttpPut("{id}"/span>)]
public void Put(int id, [FromBody] string value)?
{
}
// DELETE api/<ValuesController> /5
[HttpDelete("{id}"/span>)]
public void Delete(>int id)
{
}
uj5u.com熱心網友回復:
如果你想使用/teststring后綴到達該端點,你需要把它放在端點模板中:
[HttpPost("teststring"/span>)]
public void teststring(string test)
{
}
或者,正如@maghazade所說,你可以直接使用控制器的URL到達端點,不加后綴。https://localhost:44336/api/videowall
另外,使用Postman訪問API時,不需要CORS設定。CORS僅用于配置通過運行在Web瀏覽器上的Web應用程式的API訪問。
uj5u.com熱心網友回復:
根據你定義的路由,post方法有兩個端點,如果你洗掉teststring方法并呼叫這個地址 你所考慮的端點將被呼叫。重要的是url如下,否則它將試圖呼叫get方法。這就是為什么它回傳一個405錯誤
GET https://localhost:44336/api/videowall/teststringPOST https://localhost:44336/api/videowall/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/311756.html
標籤:

