ServiceStack удаляет литерал "json", когда часть соответствующего параметра маршрута
У меня есть маршрут, который выглядит примерно так:
[Route("/servejson/{JsonId}", Verbs = "GET", Summary = "")]
Когда я ударил моего хозяина с /servejson/test.json
, Я получил test.
как мой параметр JsonId. Я хотел бы получить test.json
как JsonId. ServiceStack, похоже, удаляет часть "json" моего параметра.
1 ответ
Решение
Это поведение объяснено в вики Routing, где servicestack будет смотреть на расширение, чтобы увидеть, является ли это поддерживаемым типом контента, если это так, он автоматически предварительно установит тип контента ответа и подрежет расширение так, чтобы оно было прозрачным в ваших сервисах.
Вы можете отключить это поведение по умолчанию в вашем AppHost.SetConfig с помощью:
Config.AllowRouteContentTypeExtensions = false.