У меня есть веб-API, который позволяет использовать базовый c CRUD с использованием GET / POST / PUT, но также содержит подобъекты, доступ к которым осуществляется через /apipath/MyObject/{objectId}/SubObject/{subObjectId}
При добавлении подобъекта используется этот метод
[HttpPost]
[Route("{id}/Members")]
[Produces(typeof(TeamMember))]
public IActionResult AddTeamMember(Guid id, [FromBody] TeamMember teamMember)
{
//some processing here.
return CreatedAtAction(nameof(GetMember), new { id, memberId = teamMember.Id }, teamMember);
}
Метод GetMember выглядит следующим образом
[HttpGet]
[Route("{id}/Members/{memberId}")]
public IActionResult GetMember(Guid id, Guid memberId)
{ //processing here
}
Вызов CreatedAtAction в AddTeamMember
создает
'System.InvalidOperationException': ни один маршрут не соответствует предоставленным значениям.
Если я изменю тэг Route на GetMember
, чтобы исключить часть участников, это сработает. Итак, как мне сказать CreatedAtAction, что между id и memberId
?
должен быть
Members
?