ASP.NET Web API 및 angularJs를 사용하여 웹 응용 프로그램을 개발하고 있습니다. 는이 같은 웹 API를 컨트롤러가 :웹 API 컨트롤러에서 동일한 매개 변수를 사용하는 다중 HttpPost 동작
[ActionName("AddNewState")]
public object PostAddNewState(RegionInformation newStateParam)
{
RegionOperations regionOperation = new RegionOperations(newStateParam.StateName);
RegionInformation newStateInformation = regionOperation.NewStateInformation;
var text = new
{
newStateInformation
};
return JsonConvert.SerializeObject(text);
}
[ActionName("AddNewCity")]
public object PostAddNewCity(RegionInformation newCityParam)
{
var text = new
{
message="Hello"
};
return JsonConvert.SerializeObject(text);
}
및 클라이언트 측에서 나는 POST 요청을 전송하는 이러한 기능이 있습니다
$scope.AddNewState = function() {
$http({
method: "POST",
url: "api/RegionManagement/AddNewState",
data: {
StateName: $scope.state
}
}).then(function (response) {
var obj = JSON.parse(response.data);
$scope.States.push({ text: obj.newStateInformation.StateName, value: obj.newStateInformation.ID });
});
};
$scope.AddNewCity = function() {
$http({
method: "POST",
url: "api/RegionManagement/AddNewCity",
data: {
ParentID: $scope.RegionInptes.ParentID,
CityName: $scope.city
}
}).then(function (response) {
var obj = JSON.parse(response.data);
alert(obj.message);
});
};
내가 실행 $ scope.AddNewCity 또는 을 $ scope.AddNewState 내가 얼굴이 500 내부 서버 오류 .if 내가 코멘트 AddNewCity web api contro에서 조치 그럼 내가 $ scope.AddNewState 성공적으로 실행할 수 있습니다.
웹 API 컨트롤러에서 다중 HTTPPost를 사용하여 검색 한 결과이 해결책을 시도했습니다 : Multiple HttpPost method in Web API controller,하지만 아무 일도 일어나지 않았고 여전히 그 오류가 있습니다.
UPDATE
이 내 설정 파일입니다
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ControllerOnly",
routeTemplate: "api/{controller}"
);
config.Routes.MapHttpRoute(
name: "ControllerandId",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "ControllerAndAction",
routeTemplate: "api/{controller}/{action}"
);
}
웹 API 구성을 표시합니다. 아마도 routeTemplate은'{controller}/{id}'입니다. 그렇다면 프레임 워크가 호출하려고하는 액션을 결정할 수 없으므로 오류가 발생합니다. {{controller}/{action}/{id}'액션을 포함하도록 템플릿을 업데이트하고 작동하는지 확인하십시오. – Nkosi
@ Nkosi 업데이트 설정에 내 설정 파일을 추가하십시오 –