NSwagStudio с использованием общей библиотеки C # - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу использовать общую библиотеку DLL между моей службой REST конечной точки и моим клиентом.Оба написаны в дотнет ядре.

Я не хочу, чтобы сгенерированный nswag c # включал эти объекты, определенные в общей DLL, но вместо этого просто ссылался на них.Таким образом, я сохраняю все атрибуты / логику проверки и могу проверять как на сервере, так и на внешнем интерфейсе.

Я пытался использовать «Исключенные имена типов», но это не оказало никакого влияния.Например.мое общее пространство имен dll - «MyCommonLibrary», и там находится объект типа «MyType».Я пробовал «MyCommonLibrary.MyType» так же, как и просто «MyType» в этом поле, и ни один из них не создал сгенерированный C # файл с отсутствующим типом (т. Е. Был сгенерирован новый тип).

Скажите, что мой вызов REST

public MyType[] GetAll(){ ... }

Я хочу, чтобы сгенерированные контроллеры возвращали MyCommonLibrary.MyType, а не «MyGenreatedController.MyType».

Есть ли способ сделать это?

Я надеюсь подстановочный знак, так как я и другие разработчики будем продолжать добавлять к этому и желать генерировать сгенерированный код C # как частьпроцесса сборки.

1 Ответ

0 голосов
/ 30 ноября 2018

Это может быть решено следующим образом:

  • Добавить обработчик нестандартной схемы, который добавляет пространство имен x для всех типов / схем в спецификации
  • При генерации клиентского кода, процессспецификация и динамически находить все исключенные имена типов на основе пространства имен
  • Запустите генератор клиента с этими исключенными именами типов
...