У меня есть метод GET без параметров, и я хочу, чтобы ниже работал
/ апи / books.xml
Это, однако, работает с косой чертой
/ апи / книги / .xml
[Route("api/[controller]")]
[ApiController]
public class BooksController : ControllerBase
{
[HttpGet]
[Route(".{format}")]
[FormatFilter]
public ActionResult<List<Book>> Get()
{
return bookService.Get();
}
}
Возможные решения, которые я пробовал:
Аннотирование без {id}
[Route("[controller]/[action].{format}")] // no slash between [action] and .{format}
Добавление маршрута по умолчанию в Startup.cs без {id}, так что если параметр id не передается, как в этой задаче, то при маршрутизации не следует ожидать косой черты после {action}.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}");
});