В среде Spring MVC, когда контроллер возвращает тип интерфейса, конвертер сообщений Spring может преобразовать возвращаемое значение в правильное сообщение (например, JSON).
Например, я могу получить сообщение JSON, когда яназывается «транспортное средство» API.
@GetMapping("vehicle")
public Vehicle getVehicle() {
return new Car();
}
public interface Vehicle {
}
public class Car implements Vehicle {
private String gearType;
}
Но поведение Webflux отличается.Он поддерживает «content-type: text / event-stream» только тогда, когда возвращаемый тип является моно интерфейса.
@GetMapping("vehicle")
public Mono<Vehicle> getVehicle() {
return Mono.just(new Car());
}
На мой взгляд, поведение Webflux неудобно.Это ошибка?Нужно ли добавлять собственный MessageWriter для кодирования типа интерфейса?