All streams
Search
Write a publication
Pull to refresh
16
0
Константин Малышев @kmalyshev

Архитектор ПО

Send message

Я не думаю, что программисты пишут OpenAPI-спеки вручную, я это наблюдаю в реальных проектах)

gRPC — замечательный язык. И, всё-таки, у нас лучше) Напомню, как выглядит пример из статьи. Куда проще, чем у вас:

JSIGHT 0.3

GET /users/{id}
  200
    {
      "id" : 123,
      "name": "Tom"
    }

Может сложиться впечатление, что JSight хорош только для простых API. Это не так, при увеличении размера и сложности API, преимущества JSight возрастают многократно. Вот пример: https://editor.jsight.io/r/aL9X1jZ/1

Конечно, JSight позволяет сделать всё, о чём вы пишите. Всё-таки мы используем его в реальных проектах, а не как игрушку. Подробная спецификация языка выложена по этим ссылкам:

Согласен, конечно работающая система важнее, чем документация. Но также и система с документацией ценнее, чем система без неё.

Попробуйте! Вот здесь Quick Tutorial языка: https://jsight.io/docs/jsight-api-0-3-quick-tutorial

Спасибо за примеры! Все приведенные варианты легко и органично описываются на JSight:

Пример 1

JSIGHT 0.3

GET /diploma
  Request
    @studentIdQuery | @diplomaQuery
  200
    {} // Some response


TYPE @studentIdQuery
{
  "StudentID": 555
}

TYPE @diplomaQuery
{
  "DiplomSeria": "FF",
  "DiplomNum": "1231231"
}

Вот ссылка на пример 1 с подсвеченным синтаксисом: https://editor.jsight.io/r/eBVvgBJ/1

Пример 2

JSIGHT 0.3

GET /something
  Request
    {
      "parameter": @email | @phoneNumber | @login
    }


TYPE @email
  "email@example.com" // {type: "email"}

TYPE @phoneNumber
  "+7123456789" // {regex: "\\+\\d+"}

TYPE @login
  "stringlogin" // {regex: "^[A-Za-z0-9]+$"}

Ссылка на пример 2 с подсвеченным синтаксисом: https://editor.jsight.io/r/DBYvpj3/3

Пример 3

JSIGHT 0.3

GET /something
  Request
    {
      "parameter": "some-limited-regex" // {regex: "^[a-z-]+$", maxLength: 100}
    }

Ссылка на пример 3 с подсвеченным синтаксисом: https://editor.jsight.io/r/YLD976d/2

Да, Антон, конвертер пишем, скоро будет.

Да, понимаю, мне тоже хочется. Но такие решения нужно принимать очень взвешенно. Если вам интересно, могу пригласить вас в наш Technical Advisory Board, в котором специалисты со стороны дают советы и голосуют за те или иные фичи. Как раз для принятия подобных решений.

Именно! Так и происходит со сваггером.

У нас на подходе конвертер JSight → OpenAPI, который решит этот вопрос.

2

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Chief Technology Officer (CTO), Software Architect
Lead
From 500,000 ₽
TOGAF
High-loaded systems
Creating project architecture