2) Swagger в java

Чтобы использовать Swagger UI в Java-проекте, вам нужно создать RESTful API с использованием Spring Boot и интегрировать Swagger для документирования и визуализации вашего API. В этом примере мы создадим простое приложение Spring Boot, которое будет взаимодействовать с API JSONPlaceholder и предоставлять Swagger UI для тестирования. Шаги для создания Java-проекта с Swagger UI Шаг 1: Создание нового Spring Boot проекта

Создайте новый проект Spring Boot:
Вы можете использовать Spring Initializr для создания нового проекта. Выберите следующие параметры:
    Project: Maven Project
    Language: Java
    Spring Boot: (выберите последнюю стабильную версию)
    Dependencies: Spring Web, Spring Boot DevTools, Springfox Swagger 2

Скачайте и распакуйте проект.

Шаг 2: Настройка зависимостей

Если вы используете Maven, убедитесь, что в вашем pom.xml добавлены следующие зависимости для Swagger:

xml

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

Шаг 3: Создание REST-контроллера

Создайте контроллер, который будет взаимодействовать с API JSONPlaceholder. Например, создайте класс PostController:

java

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.util.List;

@RestController
public class PostController {

    private final String API_URL = "https://jsonplaceholder.typicode.com/posts";

    @GetMapping("/posts")
    public List<Post> getPosts() {
        RestTemplate restTemplate = new RestTemplate();
        Post[] posts = restTemplate.getForObject(API_URL, Post[].class);
        return List.of(posts);
    }
}

Шаг 4: Создание модели Post

Создайте класс модели Post, который будет представлять структуру данных:

java

public class Post {
    private int userId;
    private int id;
    private String title;
    private String body;

    // Геттеры и сеттеры
    public int getUserId() { return userId; }
    public void setUserId(int userId) { this.userId = userId; }
    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    public String getTitle() { return title; }
    public void setTitle(String title) { this.title = title; }
    public String getBody() { return body; }
    public void setBody(String body) { this.body = body; }
}

Шаг 5: Настройка Swagger

Создайте класс конфигурации Swagger:

java

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo")) // Замените на ваш пакет
                .paths(PathSelectors.any())
                .build();
    }
}

Шаг 6: Запуск приложения

Запустите ваше Spring Boot приложение. Вы можете сделать это из вашей IDE или с помощью команды Maven:

bash

mvn spring-boot:run

После запуска приложения вы сможете получить доступ к Swagger UI по следующему URL:

Code

http://localhost:8080/swagger-ui.html

Шаг 7: Взаимодействие с API через Swagger UI

Откройте браузер и перейдите по адресу http://localhost:8080/swagger-ui.html.
Вы увидите интерфейс Swagger UI, где будет отображен ваш API.
Найдите конечную точку /posts, нажмите на нее, затем нажмите кнопку "Try it out".
Нажмите кнопку "Execute", чтобы отправить GET-запрос к /posts.
Вы увидите ответ от API JSONPlaceholder, включая статус-код и тело ответа.

Заключение

Теперь у вас есть полноценное Spring Boot приложение с интегрированным Swagger UI, которое взаимодействует с API JSONPlaceholder. Вы можете использовать этот подход для создания и документирования своих собственных RESTful API, а также для тестирования их с помощью Swagger UI.