Как указано здесь, наличие двойной косой черты в URL-адресе допустимо.
У меня есть проект ASP Net Core, который использует маршрутизацию атрибутов, контроллер с именем GroupController
для обработки операций с Group
s и действие для PUT
ting RulePart
группы, заданной его ImportId
типа string
.
[Route("/api/[controller]")]
public class GroupController : ControllerBase
{
[HttpPut("{groupImportId?}/ruleParts")]
public async Task<IActionResult> PutRuleParts(string groupImportId, [FromBody]List<RulePartDto> ruleParts)
{
return null; //actual code ommitted for brevity
}
}
URL типа http://localhost/api/group/groupImportId/ruleParts
соответствует ожидаемому.
Я ожидал, что null groupImportId
s, то есть URL-адреса типа http://localhost/api/group//ruleParts
вызовут то же действие, поскольку параметр маршрута groupImportId
был помечен как необязательный. Однако при попытке вызвать этот URL-адрес я получаю ошибку 404, и действие не выполняется.
Есть ли возможность сопоставить пустой сегмент пути URL в ASP Net Core?
http://localhost/api/group/ruleParts
также был действителен. - person Nkosi   schedule 09.05.2018