John Papa 단일 페이지 응용 프로그램 소스 코드를 사용하여 자체 응용 프로그램을 만들고 Breeze 웹 API를 사용할 때 몇 가지 문제가 있습니다. 내 자신의 바람 컨트롤러가 있고 두 번째 HttpGET 메서드를 추가하자마자 "요청과 일치하는 여러 작업이 발견되었습니다"라는 오류 메시지가 나타납니다.Breeze WebAPI - 요청과 일치하는 여러 작업이 발견되었습니다.
그의 코드에서 그는 여러 GET과 코드 작업을 추가하기 때문에 이상하지만 나는 뭔가를 놓치고 있다고 생각합니다.
브리즈 컨트롤러
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Breeze.WebApi;
using AgencyUpdate.Models;
namespace AgencyUpdate.Controllers
{
[BreezeController]
public class BreezeController : ApiController
{
readonly EFContextProvider<AgencyDbContext> _ContextProvider =
new EFContextProvider<AgencyDbContext>();
public string MetaData()
{
return _ContextProvider.Metadata();
}
[HttpGet]
public IQueryable<api_Agency> GetAgency()
{
return _ContextProvider.Context.api_Agency;
}
[HttpGet]
public IQueryable<api_AgencyOffice> GetOffice()
{
return _ContextProvider.Context.api_AgencyOffice;
}
}
}
내가 요청이 URL을 사용하여 데이터 : 나는 라우팅이 .CS 파일을 발견하지만 난에있는 경우 나도 몰라
또한**http://localhost:13762/api/breeze/GetAgency**
그것을 변경하십시오.
BreezeWebApiConfig
using System.Web.Http;
[assembly: WebActivator.PreApplicationStartMethod(
typeof(AgencyUpdate.App_Start.BreezeWebApiConfig), "RegisterBreezePreStart")]
namespace AgencyUpdate.App_Start {
///<summary>
/// Inserts the Breeze Web API controller route at the front of all Web API routes
///</summary>
///<remarks>
/// This class is discovered and run during startup; see
/// http://blogs.msdn.com/b/davidebb/archive/2010/10/11/light-up-your-nupacks-with-startup-code-and-webactivator.aspx
///</remarks>
public static class BreezeWebApiConfig {
public static void RegisterBreezePreStart() {
GlobalConfiguration.Configuration.Routes.MapHttpRoute(
name: "BreezeApi",
routeTemplate: "breeze/{controller}/{action}"
);
}
}
}
사람은 문제가 무엇인지 알고 있나요?
그리고이 없습니다. 경로 설정 방법은 모두 – Ward
Nuget 패키지에서 BreezeWebApiConfig 파일을 설정하는 방법이 문제라고 생각합니다. Pluralsight 비디오에서 John은 nick이 사용하고있는 URL (API 포함)을 사용합니다. 여기가 자동으로 생성하는 코드입니다 : '공공 정적 무효 RegisterBreezePreStart() { GlobalConfiguration.Configuration.Routes.MapHttpRoute ( 이름 : "BreezeApi" routeTemplate : "바람/{컨트롤러}/{동작} " ); –