Правильно ли создавать много POJO классов, для формирования json ответа?

Привет.
С клиента приходят запросы на получение данных, и их необходимо вернуть в виде Json.
Пример json:
{
	"root" : {
		"name1" : {
			"name1_1" : {
				"field1" : 10,
				"field2" : 20
			},
			"name1_2" : {
				"field1" : 30,
				"field2" : 40
			}
		},
		"name2" : {
			"name2_1" : {
				"obj1" : {
					"field3" : 50.01,
					"field4" : 60.02,
					"field5" : 70.03
				},
				"obj2" : {
					"field3" : 80.80,
					"field4" : 90.90,
					"field5" : 100.90
				},
				"obj3" : {
					"field3" : 110,
					"field4" : 120,
					"field5" : 130
				}
			}
		}
	}
}

Первое, что пришло в голову это создать много разных классов и jackson бы их просто вернул, но данные довольно разнородные и количество классов стремительно выросло, это меня сильно смутило, так как в пакете лежит около 20 классов в которых по сути ничего нету: два поля, конструктор и гет/сеттеры.
Поэтому вопрос такой, правильны ли мои размышления? И есть ли хорошая практика для решения таких задач?
  • Вопрос задан
  • 602 просмотра
Пригласить эксперта
Ответы на вопрос 1
@guras256
Да, это нормально. У вашего приложения есть api в состав которого входят сущности, с которыми вы работаете и которые вы возвращаете клиенту (причем внутреннее представление и внешняя модель могут отличаться).

Чтобы избавиться от бойлерплейта с геттерами, сеттерами и прочим, используйте lombok

/**
 * аннотация @Data добавит в байткод методы 
 * getString, setString, 
 * getAnotherString, setAnotherString, 
 * equals, hashcode, toString
 */
@Data
public class App {
    private String string;
    private String anotherString;
}


В этой библиотеке очень много удобных аннотаций. Для поддержки в среде idea можно установить lombok plugin
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы