2017-05-31 7 views
1

だから典型的な荒れ狂いはそうそうです。多くの多くの行き詰まった要求

[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) {} 
} 

しかし、私はそれを多対多型リソースに拡張したいと考えています。

私は/ api/provider/{id}/resolution [GET、POST、PUT、DELETE]のようなパスを持っています。

私はこれを別のクラスで行うのですか、それともこのクラスを拡張しますか?このクラスに追加できますか?

私は以下のようにしようとしましたが、同じクラスにはないようです。

[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) {} 

    Route["{providerId}/resources/"] 
    public IEnumerable<object> Get(int providerId){} 

    Route["{providerId}/resources/{id}"] 
    public IActionResult<object> Get(int providerId, int id){} 
} 

答えて

1

他のコントローラに移動する理由はありません。もちろん、移動することはできますが、常にこの2つのメソッド(Get(int providerId)とGet(int providerId、int id))があります。

+0

したがって、別のコントローラに移動した場合、ルートはどのように見えますか? [Route( "api/provider/{providerId}/[controller]")] public class OtherController:Controller {? –

+0

api/resource/{providerId}/{id} –

関連する問題