Когда возвращается CompletableFuture
, он запускает функцию асинхронной обработки Servlet 3.0, при которой выполнение CompletableFuture
будет выполняться в другом потоке, так что поток сервера, который обрабатывает HTTP-запрос, может быть освобожден как можно быстрее. обрабатывать другие HTTP-запросы. (См. Серию блогов, начиная с this для получения подробной информации)
@ResponseBody
, аннотированный на @RestController
, заставит Spring преобразовать возвращенное значение метода контроллера (т.е. Person
) через HttpMessageConverter , зарегистрированный внутри компании. Одной из его реализаций является MappingJackson2HttpMessageConverter , который далее делегирует Джексону сериализацию объекта Person
в строку JSON и отправляет его обратно клиенту HTTP, записывая его в HttpServletResponse