C# ServiceStack X-HTTP-Method-Override
我有一个ServiceStack web服务,它需要支持X-HTTP-Method-Override头 我尝试通过设置了X-HTTP-Method-Override头的获取请求来模拟删除请求,但我得到了一个:-C# ServiceStack X-HTTP-Method-Override,c#,asp.net,
servicestack,C#,Asp.net,
servicestack,我有一个ServiceStack web服务,它需要支持X-HTTP-Method-Override头 我尝试通过设置了X-HTTP-Method-Override头的获取请求来模拟删除请求,但我得到了一个:- 404 - Handler for Request not found 以下是请求格式: Get - http://localhost/test/1 标题 该服务及其DTO实现如下所示: [Route("/test/{id}", HttpMethods.Delete)] public
404 - Handler for Request not found
以下是请求格式:
Get - http://localhost/test/1
标题
该服务及其DTO实现如下所示:
[Route("/test/{id}", HttpMethods.Delete)]
public class TestRequest {
public int id { get; set; }
}
public class TestService : Service {
public object Delete(TestRequest request){
return request.id;
}
}
我在ServiceStack源代码中发现了一个表示支持X-HTTP-Method-Override功能的
我是否需要在项目中配置其他东西才能使其正常工作?请帮帮忙…我想出来了,我在请求数据中添加了Get动词,如下所示:
[Route("/test/{id}", "Delete,Get")]
public class TestRequest {
public int id { get; set; }
}
现在,当通过X-HTTP-method-Override通过Get请求模拟时,将调用Delete方法
public class TestService : Service {
public object Delete(TestRequest request){
return request.id;
}
}
我明白了,我将Get动词添加到请求数据中,如下所示:
[Route("/test/{id}", "Delete,Get")]
public class TestRequest {
public int id { get; set; }
}
现在,当通过X-HTTP-method-Override通过Get请求模拟时,将调用Delete方法
public class TestService : Service {
public object Delete(TestRequest request){
return request.id;
}
}