Форум программистов, компьютерный форум, киберфорум
Наши страницы

JavaScript

Войти
Регистрация
Восстановить пароль
 
William Blake
10 / 10 / 2
Регистрация: 09.08.2010
Сообщений: 309
#1

Документирование API функций с использованием Swagger - JavaScript

20.03.2017, 22:30. Просмотров 766. Ответов 2

Есть такой инструмент для создания и генерирования документации API функций, называется он Swagger (есть, конечно, и некоторые другие подобные инструменты, но мне по некоторым причинам от меня не зависящим нужно остановиться именно на Swagger).

Ссылка на сайт Swagger.io

Сам вопрос: как подключить Swagger к java-проекту и получить сгенерированную документацию для конкретных функций? Ниже сравнительно недавно написаный туториал, автор - Jazz Team. Из него мне неясно, куда добавлять код, начиная с раздела "Настройка проекта". Зависимости через Maven я добавил. Хотя это не привело ни к какому эффекту, кроме как к появлению еще одного блока dependency в файле pom.xml, так и должно быть? Ничего скачиваться не должно?

Подключение Swagger к проекту
Подключение Maven зависимостей
Для начала мы должны добавить в проект Maven зависимость Swagger’а. Так как мы будет подключать Swagger к RESTEasy, то добавим соответствующую зависимость.
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
<dependency>
       <groupId>io.swagger</groupId>
       <artifactId>swagger-jaxrs</artifactId>
       <version>1.5.6</version>
 </dependency>

На момент написания мануала актуальной версией является 1.5.6.

Настройка проекта
Далее нам необходимо подключить в проект необходимых слушателей (listeners), чтобы Swagger мог автоматически определять аннотации и генерировать документацию.

Мы производили настройку с помощью потомка класса javax.ws.rs.core.Application.
Настройка будет выглядеть так:

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
public class SampleApplication extends Application {
 @Override
 public Set<Class<?>> getClasses() {
    Set<Class<?>> resources = new HashSet();
    resources.add(io.swagger.jaxrs.listing.ApiListingResource.class);
    resources.add(io.swagger.jaxrs.listing.SwaggerSerializers.class);
    return resources;
    }
}


Настройка Swagger
Далее необходимо установить настройки самого Swagger. Мы это сделали в конструкторе того же наследника класса Application.

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class SampleApplication extends Application {
  public SampleApplication() {
    BeanConfig beanConfig = new BeanConfig();
    beanConfig.setVersion("1.0.0");
    beanConfig.setBasePath("/api");
    beanConfig.setResourcePackage("org.jazzteam");
    beanConfig.setScan(true);
  }
  @Override
  public Set<Class<?>> getClasses() {
   Set<Class<?>> resources = new HashSet();
     resources.add(io.swagger.jaxrs.listing.ApiListingResource.class);
     resources.add(io.swagger.jaxrs.listing.SwaggerSerializers.class);
     return resources;
  }
}


После всех настроек информация о приложении должна быть доступна по ссылке http://localhost:8080/api/swagger.json. Есть также возможность вывода информации в YAML-формате (для этого нужно поменять в ссылке JSON на YAML).

В оригинале туториал более обширный, но не вижу смысла переносить его сюда слово в слово. Оригинальная версия туториала легко гуглится по названию.

Оффтоп: не знал, в какой раздел адресовать эту тему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2017, 22:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Документирование API функций с использованием Swagger (JavaScript):

вычислить выражение с использованием функций: abs, sin, cos, tan, asin, acos, atan, exp, log, ceil, floor, min, max, pow, random, round и sqrt - JavaScript
вычислить выражение с использованием следующих функций: abs, sin, cos, tan, asin, acos, atan, exp, log, ceil, floor, min, max, pow, random,...

Многоугольник с использованием Api функций - Visual Basic
Как нарисовать многоугольник с помощью мышки с использованием API Функций ???

Работа с дисками с использованием функций API - C++ WinAPI
Разработать программу, использующую стандартные функции API, для индикации следующих показателей файловой системы: Определение количество...

Работа с файловой системой с использованием функций API - C++ WinAPI
Разработать программу, использующую стандартные функции API, для индикации следующих показателей файловой системы: Определение типа файла;...

Графическое приложение, которое выводит несколько прямоугольников с использованием API-функций - C++ WinAPI
Тут была уже похожая тема, но к сожалению, на нее так и было ответа. С помощью API-функций создать графическое приложение, которое...

Сделать задачу с использованием функций. Ввод-вывод значений массивов осуществить с п0м0щью функций - C (СИ)
Задача 1.Даны коэффициенты многочленов P(x) и Q(x) 5-й степени и дано вещественное a. Вычислить P(a+Q(a)P(a+1)). Задача 2.Описать...

2
Balanaar
833 / 742 / 276
Регистрация: 11.07.2016
Сообщений: 2,218
22.03.2017, 10:26 #2
Цитата Сообщение от William Blake Посмотреть сообщение
как подключить Swagger к java-проекту
Вы уверены, что вам нужен раздел JavaScript?
0
William Blake
10 / 10 / 2
Регистрация: 09.08.2010
Сообщений: 309
24.03.2017, 01:15  [ТС] #3
Нет, не уверен, вообще не знаю, в какой раздел эту тему можно поместить. Но так как Swagger имеет большее отношение к WEB (на мой взгляд), а также им нередко документируют функции, написанные на JavaScript, то подумал, что здесь кто-нибудь да найдется, кто Swagger пользовался.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2017, 01:15
Привет! Вот еще темы с ответами:

Определение API функций - C++ WinAPI
Здравствуйте уважаемые программисты! Подскажите,пожалуйста,каким способом можно определить какую API функцию Windows...

Достоверность API-функций - Visual Basic
Есть ftp-API функции FtpGetFile и FtpPutFile, которые возвращают True, если операции прошли успешно. Если они возвратили True, можно ли...

Вызов API функций - C#
Как вызывать в C# API функции, например вот эту BOOL CALLBACK MonitorEnumProc( __in HMONITOR hMonitor, __in HDC hdcMonitor, ...

Перехват API функций - C++ WinAPI
Разработать программу, которая запускает приложение, переданное программе на вход. После запуска приложения должна выполняться...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru