Как установить префикс маршрута на OData v4 в контроллере WebApi - PullRequest
0 голосов
/ 12 февраля 2019

Я новичок в OData, и я разрабатываю webapi с odata v4, и мне нужно добавить префикс маршрута к ODataController, например "api/V2/Products", но, похоже, он не работает

[ODataRoutePrefix("api/V2/Product")]
public class ProductsController : ODataController
{
    ODataTestContext db = new ODataTestContext();

    [EnableQuery]
    public IQueryable<Product> Get()
    {
        try
        {
            return db.Products;
        }
        catch (Exception ex)
        {

            throw new Exception(ex.Message);
        }

    }
}

// WebApiConfig,//

открытый статический void Register (HttpConfiguration config) {

        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
        //OData config
        ODataModelBuilder builder = new ODataConventionModelBuilder();
        config.Count().Filter().OrderBy().Expand().Select().MaxTop(null);
        builder.EntitySet<Product>("Products");
        config.MapODataServiceRoute(
                                    routeName: "ODataRoute", 
                                    routePrefix: "odata", 
                                    model: builder.GetEdmModel()
                                   );

}

Когда я направляюсь к URL: http://localhost:59886/odata/api/V2/Product

Itвыдает HTTP-ошибку 500.0 - Внутренняя ошибка сервера

, пожалуйста, помогите и терпите мой английский

спасибо заранее

...