Web API POST [FromBody] string value 接受参数

网上看到很多关于这这个问题的解决方案,但是都不正确,我也恰巧遇到这个问题,所有把正确的解决方案写出来,希望给后来人参考,如有不同意见欢迎指正

namespace WebApi.Controllers
{
    
    
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
    
    
        // GET api/values
        [HttpGet]
        public ActionResult<IEnumerable<string>> Get()
        {
    
    
            return new string[] {
    
     "value1", "value2" };
        }

        // GET api/values/5
        [HttpGet("{id}")]
        public ActionResult<string> Get(int id)
        {
    
    
            return "value";
        }

        // POST api/values
        [HttpPost]
        public IActionResult Post([FromBody] string value)
        {
    
    
            return Ok(value);
        }

        // PUT api/values/5
        [HttpPut("{id}")]
        public void Put(int id, [FromBody] string value)
        {
    
    
        }
    }
}
POST http://localhost:49518/api/values HTTP/1.1
Content-Type: application/json

"ddddff"
var value = '1111';
$.ajax({
    
     
type: 'POST',
contentType: "application/json", 
url: url, 
data: value, //如果是 string,int 直接传值 ,如果是模型 就要传对象{}
.......省略
});

也就是data 不要传{} 对象,直接传字符串或者int

おすすめ

転載: blog.csdn.net/WuLex/article/details/121200055