2012-11-09 4 views
1

MVC의 기본 멤버쉽에서 사용자를 삭제하려고하는데 통과 매개 변수가 항상 null입니다. [HttpDelete] 속성과 [FromBody]을 사용했지만 "500 서버 내부 오류"을 제공합니다. 아래는 내 코드입니다전달 매개 변수가 null입니다.

// 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 메서드가 있습니다. 그 일은 훌륭합니다. 문제는 MVC입니다

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 } 
      ); 

     } 
    } 
} 
+0

당신은 경로 구성을 제공 할 수 있습니다, 라우팅에 문제가있을 수 있습니다? – Mightymuke

+0

나는 내 코드를 편집했다. – Haris

+0

'[HttpDelete]'속성이 반드시'Delete' 메소드의 맨 위에 있어야합니다. 왜 추가하면 서버 오류가 발생하는지 알 수 없습니다. 실제로'DELETE'를 동사로 사용하여 게시하고 있습니까? – James

답변

2

이름하여 매개 변수 매핑합니다. 즉 매핑 된 경로, 예를 들어 무엇을 기대하고 있어요 그래서 문제

  1. 변경 id로 작용 매개 변수의 이름을 해결하는 방법은 두 가지가 있습니다 경로는 예를 들어, 대신 ID의 user 매개 변수를 찾는

    public ActionResult DeleteUser(string id) 
    { 
        ... 
    } 
    
  2. 업데이트

    config.Routes.MapHttpRoute(
        name: "DefaultApi", 
        routeTemplate: "api/{controller}/{user}", 
        defaults: new { user = RouteParameter.Optional } 
    ); 
    
+0

Thx 많이 작동합니다. – Haris

관련 문제