Могу ли я создать шлюз API в библиотеке классов F # с поставщиками типов и использовать его в решении C # для получения intellisense на внешнем веб-интерфейсе API с использованием сваггера? - PullRequest
0 голосов
/ 08 ноября 2019

Я использую множество веб-API ASP.NET Core, которые используют swagger, и при использовании этих API очень много копий копий запросов, ответов и Dto.

F # имеют поставщиков типов https://fsharp.github.io/FSharp.Data/library/JsonProvider.html, что звучит очень хорошо для использования API, что дает мне intellisense и ошибки компиляции, если типы или имена внешних DTO не совпадают.

Если возможно, я бы хотел создать библиотеку класса F #, в которой использовались бы поставщики типов и точкав файл swagger json для генерации классов я хотел бы использовать библиотеку классов F # в своем решении C #, поскольку пока нет родного поставщика типов из того, что я знаю в C #.

Если это может работать,Я надеюсь, что получу

  1. Нет необходимости копировать / вставлять внешний запрос, ответ и dtos, так как провайдер типа
  2. будет выдавать ошибки компиляции, если внешний API изменит свои типы.
  3. Intellisense для более легкого кодирования

Любые входные данные, если это возможно, или если есть лучшие решения?

1 Ответ

1 голос
/ 08 ноября 2019

Поскольку Swagger TypeProvider является генеративным , это является возможным.

Другие решения включают NSwag илиРучной рабочий процесс с использованием генератора на swagger.io

...