No HTTP resource was found that matches the request URI (...) for all tables

asp.net entity-framework-6 http odata

Question

Following this tutorial as a guide (OData/EntityFramework/Asp.Net).

I'm able to execute a simple GET command on the root.

{
"@odata.context": "http://localhost:49624/$metadata",
"value": [
    {
        "name": "Appointments",
        "kind": "EntitySet",
        "url": "Appointments"
    },

    ......

    {
        "name": "Clients",
        "kind": "EntitySet",
        "url": "Clients"
    }
]
}

But anything more complex than that gives me an error message. (I'm using a null routePrefix.)

http://localhost:49624/Services

Gives me:

{
    "Message": "No HTTP resource was found that matches the request URI 'http://localhost:49624/Services'.",
    "MessageDetail": "No type was found that matches the controller named 'Services'."
}

Here's my super simple GET

[EnableQuery]
public IQueryable<Service> Get()
{
    return db.Services;
}

If it matters I'm using Postman to test these commands. Although I imagine that is a non-factor.

I have a database & a DbSet for every table. I have no idea why I can't access any of this.

WebApiConfig:

        config.MapHttpAttributeRoutes();

        ODataModelBuilder builder = new ODataConventionModelBuilder();
        builder.EntitySet<Appointment>("Appointments");
        builder.EntitySet<Service>("Services");
        builder.EntitySet<Employee>("Employees");
        builder.EntitySet<Client>("Clients");

        config.MapODataServiceRoute(
            routeName: "ODataRoute",
            routePrefix: null,
            model: builder.GetEdmModel());

I'm sorry if this is a basic question but I'm really new to all this and have been at this wall too long already haha.

1
1
2/19/2015 9:16:39 PM

Accepted Answer

Jan Hommes above pointed out above that the controller class needs to be pluralized (In my case ServiceController -> ServicesController)

5
2/20/2015 3:31:28 PM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow