OData 方法路由 Returns 404 未找到
OData Method Routing Returns 404 not found
我已将 OData V4 添加到我的 Web Api 2 应用程序。
在 Web 中注册 OData 路由Api在默认路由之前配置注册方法:
//defining the routes for our OData service
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: "odata",
model: GenerateEdmModel());
private static IEdmModel GenerateEdmModel()
{
var builder = new ODataConventionModelBuilder();
builder.EntitySet<Media>("Media");
return builder.GetEdmModel();
}
MediaController.cs
[EnableQuery]
public IQueryable<ApiMedia> GetMedia(ODataQueryOptions<Media> query )
{
*querying and returning media*
}
但是当我打电话给 localhost:80880/odata/media
返回的响应说:
找不到资源。
要求URL:/odata/media
调用 localhost:80880/odata
returns 这个:
{
"@odata.context":"http://localhost:80880/odata/$metadata","value":[
{
"name":"Media","kind":"EntitySet","url":"Media"
}
]
}
所以这里有什么问题吗?
(它是否在寻找名为 odata 的控制器?)
我遵循了 http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint
上的教程
你不敢相信,但我应该输入 mysite.com/odata/Media 而不是 mysite.com/odata/media
您会很快找到这个功能。我正在寻找2天。大写 url 请求取决于实体集名称
builder.EntitySet<Media>("Media"); // if the changed to "media" will work !
我已将 OData V4 添加到我的 Web Api 2 应用程序。 在 Web 中注册 OData 路由Api在默认路由之前配置注册方法:
//defining the routes for our OData service
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: "odata",
model: GenerateEdmModel());
private static IEdmModel GenerateEdmModel()
{
var builder = new ODataConventionModelBuilder();
builder.EntitySet<Media>("Media");
return builder.GetEdmModel();
}
MediaController.cs
[EnableQuery]
public IQueryable<ApiMedia> GetMedia(ODataQueryOptions<Media> query )
{
*querying and returning media*
}
但是当我打电话给 localhost:80880/odata/media
返回的响应说:
找不到资源。 要求URL:/odata/media
调用 localhost:80880/odata
returns 这个:
{
"@odata.context":"http://localhost:80880/odata/$metadata","value":[
{
"name":"Media","kind":"EntitySet","url":"Media"
}
]
}
所以这里有什么问题吗? (它是否在寻找名为 odata 的控制器?) 我遵循了 http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint
上的教程你不敢相信,但我应该输入 mysite.com/odata/Media 而不是 mysite.com/odata/media
您会很快找到这个功能。我正在寻找2天。大写 url 请求取决于实体集名称
builder.EntitySet<Media>("Media"); // if the changed to "media" will work !