文件名: DemoController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace MVCEntityFramework.Controllers.Api
{
public class DemoController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post([FromBody] string value)
{
}
// PUT api/<controller>/5
public void Put(int id, [FromBody] string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
}
ScreenShot 1:https://i.stack.imgur.com/lDQ4O.png ScreenShot 2:https://i.stack.imgur.com/ObG6W.png
路径不起作用:
响应:
HTTP错误404.0 -找不到您要查找的资源已被删除,其名称已更改,或暂时不可用。
发布于 2021-01-18 11:42:33
它按惯例工作,所以如果您需要调用Get,只需使用https://localhost:44310/api/demo/2而不使用动作名称,但是您需要指定动词HttpGet,如果您需要调用Post,也可以使用指定动词HttpPost调用https://localhost:44310/api/demo --例如,如何使用postman调用post动作
或向类中添加[Route(“控制器”)]属性,如
[Route("[controller]")]
public class DemoController : ApiController
{
// GET api/<controller>
[Route("Get")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
因此,在本例中,可以向端点添加控制器名称,如https://localhost:44310/api/demo/get/2
https://stackoverflow.com/questions/65773764
复制相似问题