Fiddler - asp.net web api custom POST

本文关键字:api custom POST web net asp Fiddler | 更新日期: 2023-09-27 18:17:10

我有一个Backbone.js应用程序,它正在调用我的WEB API自定义POST方法之一。下面是我的自定义POST

的代码

WebApiConfig.cs

config.Routes.MapHttpRoute
            (
                name: "UserAdministrationApi",
                routeTemplate: "api/{controller}/PostUserInfo/{EmployeeDTO}",
                defaults: new
                {
                    EmployeeDTO = RouteParameter.Optional,
                    controller = "UserAdministration",
                    action = "PostUserInfo",
                });
控制器

        [HttpPost]
        [ActionName("PostUserInfo")]
        public HttpResponseMessage PostUserInfo(EmployeeDTO value)
        {
            // handling POST
        }

EmployeeDTO

   public class EmployeeDTO
   {
    public bool masAccess { get; set; }
    public bool reportAccess { get; set; }
    public string name { get; set; }
    public string office { get; set; }
   }

当我尝试在小提琴手测试这个甚至之前要测试它与Backbone.js代码,我得到500内部错误。不知道怎么了

//FIDDLER TEST

POST : http://localhost:56501/api/useradministration/PostUserInfo

Request Body
  {
     masAccess:"true"
     reportAccess:"false"
   }

谢谢你的帮助

Fiddler - asp.net web api custom POST

几点:

EmployeeDTO不应该是routeTemplate的一部分,正如Andrei提到的。

根据JSONlint.com,您的请求正文不是有效的JSON。试着

{
  "masAccess": "true",
  "reportAccess": "false"
}

此外,您可能需要添加标题Content-Type: application/json到您的Fiddler请求。