如何post一个字符串值从Angular8到.NET core WebAPI?
How to post a string value from Angular 8 to .NET core Web API?
我无法 post 我的 WebApi 的简单字符串值,我收到 415 错误。
实现这一目标的正确语法是什么?
谢谢!
createRole(name: string) {
var fullUri = this.baseUri;
fullUri += 'api/role/CreateRole';
return this.http.post(fullUri, name);
}
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRoleAsync([FromBody]string name)
{
//...
}
api
中的小调整
[HttpPost]
[Route("api/role/CreateRole")]
public int Post([FromBody] string name)
{
//logic...
}
使用 [FromForm]
属性而不是 [FromBody]
属性。并将 [ApiController]
属性应用于您的控制器。
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRoleAsync([FromForm]string name)
{
//...
}
如果您 post name
作为 FormData 或使用 Form 标签,它将起作用。因为 [FromForm]
从 post 编辑的表单字段中获取值。
另一个解决方案是 post name
作为对象并制作模型/DTO
public class SaveModel
{
public string Role {get; set;}
}
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRoleAsync([FromBody] SaveModel model)
{
//...
}
我无法 post 我的 WebApi 的简单字符串值,我收到 415 错误。 实现这一目标的正确语法是什么? 谢谢!
createRole(name: string) {
var fullUri = this.baseUri;
fullUri += 'api/role/CreateRole';
return this.http.post(fullUri, name);
}
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRoleAsync([FromBody]string name)
{
//...
}
api
中的小调整 [HttpPost]
[Route("api/role/CreateRole")]
public int Post([FromBody] string name)
{
//logic...
}
使用 [FromForm]
属性而不是 [FromBody]
属性。并将 [ApiController]
属性应用于您的控制器。
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRoleAsync([FromForm]string name)
{
//...
}
如果您 post name
作为 FormData 或使用 Form 标签,它将起作用。因为 [FromForm]
从 post 编辑的表单字段中获取值。
另一个解决方案是 post name
作为对象并制作模型/DTO
public class SaveModel
{
public string Role {get; set;}
}
[HttpPost("CreateRole")]
public async Task<IActionResult> CreateRoleAsync([FromBody] SaveModel model)
{
//...
}