Как использовать ресурсы вместо строк для аннотаций swagger API в стеке служб

Я хотел бы создать сервисный стек API и использовать swagger для автообновляемой документации. Проблема в том, что мне нужно, чтобы эта документация была i18n-azied, поэтому вопрос в том, можно ли это сделать в сервис-стеке?


person Victor Suzdalev    schedule 19.09.2014    source источник


Ответы (1)


Это не поддерживается изначально, но ServiceStack SwaggerFeature предоставляет фильтры моделей и свойств, которые позволяют изменять возвращаемые модели swagger, т. Е. Предоставляя возможность заменить текст в возвращаемых моделях, например:

Plugins.Add(new SwaggerFeature { 
    ModelFilter = model => myLocalize(model),
    ModelPropertyFilter = property => myLocalize(property)
});

Хотя он еще не используется активно, подход ServiceStack к локализации строк заключается в маршрутизации текста через AppHost.ResolveLocalizedString(), который можно переопределить в вашем AppHost, чтобы изменить возвращаемую строку.

person mythz    schedule 20.09.2014