Рубрики
Без рубрики

Как создать простые rest api с помощью spring boot

Как создать простые rest api с помощью spring boot. С тегами программирование, webdev, java, api.

Этот пост был первоначально опубликован в Этот пост был первоначально опубликован в

В рамках этой статьи вы будете создавать 2 простых REST API с использованием Spring boot. Эта статья даст представление о том, как быстро начать работу с spring boot.

Итак, давайте начнем 😄

Убедитесь, что в вашей системе установлен Maven, прежде чем приступить к этой статье.

Вы можете установить Maven из https://maven.apache.org/

Также убедитесь, что Maven установлен в ПУТИ так что команды mvn работают.

вы можете проверить, установлен ли maven и доступен ли к нему доступ с помощью команды

mvn -v

Также убедитесь, что установлен параметр JAVA_HOME .

Первый шаг – это настройка вашего проекта.

Настроить проект Spring boot довольно просто.

Перейти к Перейти к

На сайте введите имя артефакта как simple-rest-apis и в разделе зависимости добавьте Web . Вы также можете ввести любое другое имя артефакта.

Также в верхней части убедитесь, что вы создаете Maven проект с Java с использованием версии Springboot 2.0.6 Это делается для того, чтобы результаты, приведенные в этой статье, были воспроизводимыми. Как только вы закончите с этой статьей, Вы можете поэкспериментировать, выбрав другие варианты 😄

Как только вы введете информацию, экран должен выглядеть следующим образом

Нажмите на кнопку Создать проект, это позволит загрузить zip-файл на ваш компьютер. Извлеките этот zip-файл. Извлеченная папка – это ваш проект spring boot.

Вы можете импортировать проект в предпочитаемую вами среду разработки. Я использовал eclipse, чтобы попробовать это.

pom.xml

Этот файл содержит все зависимости maven. Основная зависимость, на которую следует обратить внимание, заключается в следующем


    org.springframework.boot
    spring-boot-starter-web

зависимость spring-boot-starter-web гарантирует, что проект можно использовать для веб-приложений

Также еще одна важная вещь, на которую следует обратить внимание в pom.xml заключается в следующем


        org.springframework.boot
        spring-boot-starter-parent
        2.0.6.RELEASE
         

spring-boot-starter-parent создается как родительский элемент этого проекта. Это гарантирует, что любые внутренние зависимости, необходимые spring boot, будут автоматически устранены, и разработчику не нужно беспокоиться об этом.

Простое приложение Rest Api s. Ява

Этот файл назван в честь имени проекта, за которым следует Application .

Этот файл находится внутри папки src/main/java и внутри пакета com.example.simple rest api .

Этот файл содержит следующий фрагмент кода

package com.example.simplerestapis;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SimpleRestApisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SimpleRestApisApplication.class, args);
    }
}

Главной изюминкой здесь является аннотация @SpringBootApplication . Это внутренне представляет собой комбинацию следующих 3 аннотаций

  1. @Configuration : Требуется для ручной настройки пружины. Добавление этой аннотации гарантирует, что настройка может быть выполнена в самом классе java вместо использования отдельного xml-файла.
  2. @EnableAutoConfiguration : Spring нуждается в большой настройке. Эта аннотация гарантирует, что большая часть настройки выполняется автоматически.
  3. @ComponentScan : Это сообщает Spring, где все сканировать на наличие компонентов.

Строка SpringApplication.run(SimpleRestApisApplication.class , аргументы); |/запускает приложение.

Применение.свойства

Этот файл находится внутри src/main/resources . Файл можно использовать для перечисления различных свойств, которые будут использоваться во время запуска приложения. Например, его можно использовать, чтобы указать, на каком порту должно выполняться приложение.

Код для API, которые построены здесь, можно найти здесь

Наш первый API будет простым API, демонстрирующим запрос GET.

Создайте пакет с именем com.example.simple rest api.models . Внутри этого пакета создайте файл с именем SampleResponse.java

Скопируйте следующий код в SampleResponse.java

package com.example.simplerestapis.models;
public class SampleResponse {
    private String message;
    private long id;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

}

SampleResponse.java – это просто класс модели. Он указывает поля, которые присутствуют в ответе вашего api.

Создайте пакет с именем com.example.simple rest api.controller . Внутри этого пакета создайте файл с именем WebController.java

Скопируйте следующий код в WebController.java

package com.example.simplerestapis.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.example.simplerestapis.models.SampleResponse;

@RestController
public class WebController {

    @RequestMapping("/sample")
    public SampleResponse Sample(@RequestParam(value = "name",
    defaultValue = "Robot") String name) {
        SampleResponse response = new SampleResponse();
        response.setId(1);
        response.setMessage("Your name is "+name);
        return response;

    }
}

В приведенном выше коде Аннотация @RestController указывает, что этот класс будет иметь конечные точки Rest. Эта аннотация в основном сообщает, что этот класс является контроллером, и значение, возвращаемое функцией в этом классе, будет либо преобразовано в JSON, либо в XML. По умолчанию в формате JSON.

@RequestMapping сопоставляет |//образец конечная точка для Образца Функции

@RequestParam указывает, что конечная точка |sample будет иметь один параметр запроса с именем |/name . Значение по умолчанию для name равно “Robot”.

Код внутри функции довольно прямолинеен. Ответ устанавливается на основе name value.

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

mvn spring-boot:run

По умолчанию приложение запускается на порту 8080 в localhost.

Для тестирования конечных точек api вы можете использовать Postman . Скачайте postman по указанной ссылке.

Перейдите в postman и введите следующий URL localhost:8080/sample?name=aditya и нажмите отправить.

Это вернет следующий ответ

{
    "message": "Your name is aditya",
    "id": 1
}

Теперь попробуйте следующий URL localhost:8080/sample и нажмите отправить

Это вернет следующий ответ

{
    "message": "Your name is Robot",
    "id": 1
}

Вы создали свой первый API с помощью spring boot. Вы узнали, как создать простой GET rest api с параметром запроса

Второй API продемонстрирует, как создать API, который поддерживает POST-запрос

Внутри пакета com.example.simple rest api.models создайте класс java с именем PostRequest.java

Скопируйте следующий код в PostRequest.java

package com.example.simplerestapis.models;

public class PostRequest {
    int id;
    String name;
    public int getId() {
        return id;
    }
    public String getName() {
        return name;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setName(String name) {
        this.name = name;
    }

}

Запрос POST обычно имеет тело POST, которое отправляется в качестве входных данных. PostRequest.java указывает все поля, которые присутствуют в теле ввода POST

Внутри пакета com.example.simple rest api.models создайте класс java с именем PostResponse.java

Скопируйте следующий код в PostResponse.java

package com.example.simplerestapis.models;

public class PostResponse {
    int id;
    String message;
    String extra;
    public String getExtra() {
        return extra;
    }
    public int getId() {
        return id;
    }
    public String getMessage() {
        return message;
    }
    public void setExtra(String extra) {
        this.extra = extra;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setMessage(String message) {
        this.message = message;
    }

}

PostResponse.java указывает поля, которые присутствуют в выходных данных запроса POST.

В WebController.java добавьте следующий импорт

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMethod;

import com.example.simplerestapis.models.PostRequest;
import com.example.simplerestapis.models.PostResponse;

Также добавьте следующую функцию в WebController.java

@RequestMapping(value = "/test", method = RequestMethod.POST)
public PostResponse Test(@RequestBody PostRequest inputPayload) {
    PostResponse response = new PostResponse();
    response.setId(inputPayload.getId()*100);
    response.setMessage("Hello " + inputPayload.getName());
    response.setExtra("Some text");
    return response;
}

Этот код создает новую конечную точку с именем /test и сопоставляет ее с Test функция

Также метод code . СООБЩЕНИЕ указывает на то, что //test конечная точка api может принимать запросы POST

@@@@RequestBody PostRequest inputPayload указывает, что post-запрос будет иметь вводное тело post типа PostRequest . Тело входного сообщения хранится в |/input Payload Object.

Код довольно прост, в нем задается ответ на основе поступающих входных данных.

Значение id из входной полезной нагрузки умножается на 100 и устанавливается в выходную полезную нагрузку

К параметру name добавляется Привет и установите на выходную полезную нагрузку

дополнительный параметр жестко закодирован в строковое значение Какой-то текст

Окончательный кодовый код в WebController.java выглядит следующим образом

package com.example.simplerestapis.controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.example.simplerestapis.models.PostRequest;
import com.example.simplerestapis.models.PostResponse;
import com.example.simplerestapis.models.SampleResponse;

@RestController
public class WebController {

    @RequestMapping("/sample")
    public SampleResponse Sample(@RequestParam(value = "name",
    defaultValue = "Robot") String name) {
        SampleResponse response = new SampleResponse();
        response.setId(1);
        response.setMessage("Your name is "+name);
        return response;

    }

    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public PostResponse Test(@RequestBody PostRequest inputPayload) {
        PostResponse response = new PostResponse();
        response.setId(inputPayload.getId()*100);
        response.setMessage("Hello " + inputPayload.getName());
        response.setExtra("Some text");
        return response;
    }
}

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

mvn spring-boot:run

Откройте Postman и установите значения, как показано на рисунке ниже

В основном тип запроса устанавливается в POST

URL-адрес конечной точки вводится как localhost:8080/test

Чтобы ввести текст сообщения, перейдите в Body , выберите raw и выберите JSON (application/json)

Введенный текст сообщения выглядит следующим образом

{
    "id": 1,
    "name": "aditya"
}

При нажатии кнопки Отправить выводится следующий вывод было бы показано

{
    "id": 100,
    "message": "Hello aditya",
    "extra": "Some text"
}

Вы можете поэкспериментировать с этим, отправив различные тела входных сообщений.

Теперь вы знаете, как создавать простые API-интерфейсы REST на основе запросов GET и POST с помощью Spring boot 😄

Вы можете проверить https://spring.io/ чтобы узнать больше о Spring и Spring boot

Не стесняйтесь связаться со мной в LinkedIn или подписаться на меня в Twitter.

Если вам понравился этот пост, вы можете зайти на мой сайт https://adityasridhar.com для других подобных сообщений

Оригинал: “https://dev.to/adityasridhar/how-to-create-simple-rest-apis-with-springboot-5h9f”