複数のHttpGet
動詞をサポートするASP.NET Core, Web API
を作成する必要がありますが、唯一の違いはクエリ文字列ですが、クエリ文字列はルートテンプレートの一部ではないようです。 - 本当?ASP.NETコア、クエリ文字列をテンプレートとするWeb API RouteAttribute
ルートテンプレートは非常に似ていますが、実際はクエリ文字列によって異なるだけです。
[Authorize]
public class SymbolsController : Controller
{
[
HttpGet,
Route("api/symbols")
]
public Task<IEnumerable<Symbol>> Symbols([FromServices] ISymbolService symbolService)
{
return symbolService.GetSymbolsAsync();
}
[
HttpGet,
Route("api/symbols?{childrenOf=id}")
]
public Task<IEnumerable<Symbol>> ValidChildren(
[FromQuery] Guid id,
[FromServices] ISymbolService symbolService)
{
return symbolService.GetValidChildrenAsync(id);
}
}
?
がルートテンプレートの有効な文字ではないため、例外がスローされます。どうすればこれを達成できますか?
複雑なオブジェクトに[FromUri]を使用できます。 –