Добавление класса данных в проект Spring Boot
В этой части руководства вы добавите в приложение новые функции и познакомитесь с дополнительными возможностями языка Kotlin, например с классами данных. Для этого нужно изменить класс MessageController, чтобы он возвращал документ JSON с коллекцией сериализованных объектов.
Обновление приложения
В том же пакете, рядом с файлом
DemoApplication.kt, создайте файлMessage.kt.-
В файле
Message.ktсоздайте класс данных с двумя свойствами:idиtext:// Message.kt package com.example.demo data class Message(val id: String?, val text: String)
Класс
Messageбудет использоваться для передачи данных: список сериализованных объектовMessageсоставит документ JSON, который контроллер вернёт в ответ на запрос браузера.- Классы данных — класс данных Message
-
Основное назначение классов данных в Kotlin — хранение данных. Такие классы помечаются ключевым словом
data, а стандартные и вспомогательные функции часто можно автоматически вывести из структуры класса.В этом примере вы объявили
Messageклассом данных, поскольку его основное назначение — хранение данных. - Свойства val и var
-
Свойства в классах Kotlin можно объявлять как:
изменяемые — с помощью ключевого слова
varтолько для чтения — с помощью ключевого слова
val
Класс
Messageобъявляет два свойства с помощью ключевого словаval:idиtext. Компилятор автоматически сгенерирует геттеры для обоих свойств. После создания экземпляра классаMessageприсвоить этим свойствам новые значения будет невозможно. - Типы, допускающие значение null — String?
-
В Kotlin предусмотрена встроенная поддержка типов, допускающих значение null. Система типов Kotlin различает ссылки, которым можно присвоить
null(ссылки, допускающие значение null), и те, которым нельзя (ссылки, не допускающие значение null).
Например, обычная переменная типаStringне может содержатьnull. Чтобы разрешить null-значения, можно объявить переменную как строку, допускающую значение null, указавString?.На этот раз свойство
idклассаMessageобъявлено как тип, допускающий значение null. Поэтому можно создать экземпляр классаMessage, передавnullв качестве значения дляid:Message(null, "Hello!")
-
В файле
MessageController.ktвместо функцииindex()создайте функциюlistMessages(), возвращающую список объектовMessage:// MessageController.kt package com.example.demo import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController @RestController @RequestMapping("/") class MessageController { @GetMapping fun listMessages() = listOf( Message("1", "Hello!"), Message("2", "Bonjour!"), Message("3", "Privet!"), ) }- Коллекции — listOf()
-
Стандартная библиотека Kotlin предоставляет реализации основных типов коллекций: множеств, списков и отображений.
Каждый тип коллекции может быть доступным только для чтения или изменяемым:Коллекция, доступная только для чтения, предоставляет операции для доступа к элементам.
Изменяемая коллекция также предоставляет операции записи для добавления, удаления и обновления элементов.
Стандартная библиотека Kotlin также предоставляет соответствующие фабричные функции для создания экземпляров таких коллекций.
В этом руководстве вы используете функцию
listOf(), чтобы создать список объектовMessage. Эта фабричная функция создаёт доступный только для чтения список объектов: добавлять в него элементы и удалять их нельзя.
Если необходимо выполнять операции записи со списком, вызовите функциюmutableListOf(), чтобы создать экземпляр изменяемого списка. - Запятая в конце
-
Запятая в конце — это запятая после последнего элемента последовательности элементов:
Message("3", "Privet!"),Это удобная возможность синтаксиса Kotlin, но она необязательна — код будет работать и без таких запятых.
В приведённом выше примере при создании списка объектов
Messageпосле последнего аргумента функцииlistOf()стоит запятая.
Теперь ответ MessageController будет представлять собой документ JSON с коллекцией объектов Message.
Вот полный код файлов DemoApplication.kt, MessageController.kt и Message.kt:
Запуск приложения
Приложение Spring готово к запуску:
Запустите приложение ещё раз.
-
После запуска приложения откройте следующий URL-адрес:
http://localhost:8080
Вы увидите страницу с коллекцией сообщений в формате JSON:
Следующий шаг
В следующей части руководства вы добавите в проект базу данных, настроите её и выполните HTTP-запросы.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/jvm-spring-boot-add-data-class.html