WebApi:获取api / Record / id / Tags

时间:2017-09-21 17:20:02

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

在我的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

返回这些标签

在这种情况下我应该如何写我的行动?

1 个答案:

答案 0 :(得分:0)

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

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