是否可以将CreatedAtAction
附加查询参数到生成的Location
标头中?
我正在使用的操作方法声明为:
[HttpGet("{candidateId:guid}")]
public async Task<ActionResult> Get(Guid candidateId, [FromQuery][Required]string siteId)
并且在调用CreatedAtAction
时指向它:
var model = RegisterModel(/* ... */);
return CreatedAtAction(nameof(Get), new { candidateId = model.CandidateId }, model));
siteId
是此操作方法正常工作所必需的,这就是为什么我想将其包含在Location
标头中返回的URL中:我希望我的URL是一个有效的方法
答案 0 :(得分:3)
您可以向正在创建的匿名对象添加siteId
属性-路由本身中未指定的任何内容都会自动设置为查询字符串参数:
return CreatedAtAction(
nameof(Get),
new { candidateId = model.CandidateId, siteId = model.SiteId },
model));