【问题标题】:WebApi: Get api/Record/id/TagsWebApi:获取 api/Record/id/Tags
【发布时间】:2018-03-03 03:34:52
【问题描述】:

在我的 ASP.NET MVC (6) web Web Api 中,我有

[Produces("application/json")]
[Route("api/Record")]
public class RecordController : Controller
{

    // ...

    // GET: api/Record/5
    [HttpGet("{id}", Name = "GetRecord")]
    public async Task<Record> Get(string id)
    {
        var record = await repository.GetAsync<Record>(id);            
        return record;
    }

现在,我的Record 包含一些Tags

我想通过api/Record/5/Tags返回这些标签

在这种情况下我应该如何编写我的操作?

【问题讨论】:

    标签: asp.net asp.net-web-api asp.net-core-1.1


    【解决方案1】:

    假设它是记录上的一个属性,创建一个路由模板以匹配所需的路由并在调用时返回标签

    [HttpGet("{id}/Tags")] // GET: api/Record/5/Tags
    public async Task<IActionResult> GetTags(string id) {
        var record = await repository.GetAsync<Record>(id);
        if(record == null) return NotFound();
        return Ok(record.Tags);
    }
    

    【讨论】:

    • 应该返回 JSON 的 WebApi 返回 NotFound() 还是 Ok() ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多