1
我想从MVC的默认成员身份中删除用户,但传递参数始终为空。我用[HttpDelete]
属性和[FromBody]
,但它给出“500服务器内部错误”。以下是我的代码传递参数为空
// Delete api/Del/user name
public HttpResponseMessage DeleteUser(string user)
{
try
{
System.Web.Security.Membership.DeleteUser(user);
}
catch (Exception)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.OK);
}
这是我用“删除”动词的调用方法。
http://localhost:3325/api/Del/haris2
我已经创建了此webapi类路由。我有一个没有参数的相同控制器中的Get方法。它的工作很好。
WebApiConfig.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace DatabaseService_WebAPI.App_Start
{
public class WebApiConfig
{
public static void Configure(HttpConfiguration config)
{
// Filters
config.Filters.Add(new QueryableAttribute());
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApiwithAction",
routeTemplate: "api/{controller}/{action}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
有可能是一个问题与你的路由,您可以为您的路由配置? – Mightymuke
我编辑了我的代码。 – Haris
你肯定需要'Delete'方法顶部的'[HttpDelete]'属性(不知道为什么添加它会引发服务器错误)。你真的使用'DELETE'作为动词吗? – James