Put, Delete Method is not wokring. error : HTTP/1.1 405 Method Not Allowed

Put, Delete Method is not wokring. error : HTTP/1.1 405 Method Not Allowed

Get、Post 方法有效,但我要 运行 Put 和 Delete 请求,然后我会收到一条错误消息。

完成项目Url:https://github.com/Dushyantsingh-ds/dotnet-issues/blob/main/Projects/EmployeeService/Readme.md

您的删除端点还应该有一个 [Route(...)] 数据注释:

[Route("api/employee/{EmpId}")]

您必须决定要使用什么 - 属性路由或配置文件中的默认路由。

今天最常见的使用方式API是将属性路由分配给控制器

[Route("~/api/[controller]/[action]]
public class EmployeeController : ApiController

您可以使用 https//localhost:44350/api/employee/get 获取 ()

等等

 // /api/employee/get
 public IEnumerable<Employee> Get()

// /api/employee/get/5 
[HttpGet("{empId}")]
 public HttpResponseMessage Get(int empId)

 //   /api/employee/post" for 
 public HttpResponseMessage Post([FromBody] Employee employee)

  // /api/employee/delete/5   
[Route("{empId}")]
 public HttpResponseMessage Delete(int empId)

 // /api/employee/put/5   
[Route("{empId}")]
 public HttpResponseMessage Put(int empId, [FromBody] Employee employee)
      

并且由于您没有将方法作为操作属性,因此不需要使用 delete 和 put,您可以改用 get 和 post。