HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>В некоторых ситуациях обработчики должны менять код ответа или добавлять свои заголовки. Сделать это можно с помощью возврата специального объекта ResponseEntity, который позволяет изменять HTTP-ответ.</p>
1 <p>В некоторых ситуациях обработчики должны менять код ответа или добавлять свои заголовки. Сделать это можно с помощью возврата специального объекта ResponseEntity, который позволяет изменять HTTP-ответ.</p>
2 <p>Допустим, у нас есть обработчик, возвращающий список страниц Page. При этом мы хотим добавить заголовок X-Total-Count, который бы указывал на общее количество страниц:</p>
2 <p>Допустим, у нас есть обработчик, возвращающий список страниц Page. При этом мы хотим добавить заголовок X-Total-Count, который бы указывал на общее количество страниц:</p>
3 <p>Чтобы это сделать, нам нужно импортировать ResponseEntity. С его помощью мы соберем ответ и вернем его наружу:</p>
3 <p>Чтобы это сделать, нам нужно импортировать ResponseEntity. С его помощью мы соберем ответ и вернем его наружу:</p>
4 <p>Обсудим этот код подробнее. Здесь ResponseEntity - это билдер. Его сборка начинается с методов, определяющих код возврата: ok() соответствует коду 200, created() - коду 201 и так далее. Дальше можно задавать хедеры и передавать тело ответа.</p>
4 <p>Обсудим этот код подробнее. Здесь ResponseEntity - это билдер. Его сборка начинается с методов, определяющих код возврата: ok() соответствует коду 200, created() - коду 201 и так далее. Дальше можно задавать хедеры и передавать тело ответа.</p>
5 <p>Использование ResponseEntity меняет тип возвращаемого значения так, что изначальное значение оборачивается в ResponseEntity. Это значит, что с его введением придется работать через него целиком. Например, уже не получится просто так вернуть объект с данными, его нужно будет передавать в метод body().</p>
5 <p>Использование ResponseEntity меняет тип возвращаемого значения так, что изначальное значение оборачивается в ResponseEntity. Это значит, что с его введением придется работать через него целиком. Например, уже не получится просто так вернуть объект с данными, его нужно будет передавать в метод body().</p>
6 <p>В работе ResponseEntity вам пригодится еще три метода:</p>
6 <p>В работе ResponseEntity вам пригодится еще три метода:</p>
7 <ul><li>status(), чтобы указать произвольный статус</li>
7 <ul><li>status(), чтобы указать произвольный статус</li>
8 <li>of(), чтобы работать с Optional</li>
8 <li>of(), чтобы работать с Optional</li>
9 <li>ok(), который принимает тело ответа и немного укорачивает запись. Это полезно, когда не нужно вызывать дополнительные методы</li>
9 <li>ok(), который принимает тело ответа и немного укорачивает запись. Это полезно, когда не нужно вызывать дополнительные методы</li>
10 </ul>
10 </ul>