2017-05-31 5 views
1

So ein typisches Crud wäre so.viele zu viele Crud Anfragen

[Route("api/[controller]")] 
public class ProvidersController : Controller { 

    [HttpGet] 
    public IEnumerable<object> Get(){} 

    [HttpGet("{id}")] 
    public IActionResult Get(int id) {} 

    // POST api/provider 
    [HttpPost] 
    public IActionResult Post([FromBody]Provider value){} 

    // PUT api/provider/5 
    [HttpPut("{id}")] 
    public IActionResult Put(int id, [FromBody]Provider value){} 

    // DELETE api/provider/5 
    [HttpDelete("{id}")] 
    public IActionResult Delete(int id) {} 
} 

Aber ich möchte es auf eine viele zu viele Typ Ressource erweitern.

Wo habe ich Pfade wie/API/Provider/{ID}/Auflösung [GET, POST, PUT, DELETE].

Mache ich das in einer anderen Klasse oder erweitere ich diese? Kann ich es einfach zu dieser Klasse hinzufügen?

Ich habe versucht, etwas wie unten zu tun, aber es scheint, dass es nicht in der gleichen Klasse sein sollte.

Antwort

1

Ich sehe keinen Grund, es auf einen anderen Controller zu verschieben. Natürlich könnten Sie sich bewegen, aber es wird immer nur diese zwei Methoden geben (Get (int providerId) und Get (int providerId, int id))

+0

Also, wenn ich es auf einen anderen Controller verschoben würde, wie würde die Route aussehen? [Route ("api/provider/{providerId}/[Controller]")] öffentliche Klasse OtherController: Controller {? –

+0

API/Ressource/{ProviderId}/{ID} –