Урок 48: Разработка веб-приложения
Разработка веб-приложений является важной частью современной разработки программного обеспечения. Веб-приложения позволяют пользователям взаимодействовать с вашим приложением через веб-браузер. В этом уроке мы рассмотрим, как создать простое веб-приложение на Java с использованием Spring Boot, которое будет включать обработку HTTP-запросов и ответы в формате JSON.
Создание простого веб-приложения
Для начала создадим простое веб-приложение с использованием Spring Boot. Это приложение будет обрабатывать HTTP-запросы и возвращать JSON-ответы. Пример кода для создания такого приложения:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
public class WebApp {
public static void main(String[] args) {
SpringApplication.run(WebApp.class, args);
}
}
@RestController
class HelloController {
@GetMapping("/hello")
public String sayHello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello, %s!", name);
}
}
Результат выполнения
Запустите приложение и откройте в браузере http://localhost:8080/hello?name=Ivan
Ответ будет: Hello, Ivan!
Упражнения
Упражнение 1: Добавление нового эндпоинта
Создайте новый эндпоинт /goodbye
, который будет принимать параметр name
и возвращать сообщение "Goodbye, {name}!".
Решение:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
class GoodbyeController {
@GetMapping("/goodbye")
public String sayGoodbye(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Goodbye, %s!", name);
}
}
Объяснение: В этом примере создается новый контроллер с эндпоинтом /goodbye
, который принимает параметр name
и возвращает сообщение "Goodbye, {name}!".
Упражнение 2: Возврат JSON-объекта
Создайте эндпоинт /user
, который будет возвращать JSON-объект с информацией о пользователе (имя и возраст). Используйте класс User
для представления информации о пользователе.
Решение:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
class UserController {
@GetMapping("/user")
public User getUser() {
return new User("John Doe", 30);
}
}
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
Объяснение: В этом примере создается новый эндпоинт /user
, который возвращает JSON-объект с информацией о пользователе. Класс User
используется для представления информации о пользователе.