Spring boot возвращает ответ от обратного вызова в сервисахJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring boot возвращает ответ от обратного вызова в сервисах

Сообщение Anonymous »

Я пытаюсь разработать образец приложения Rest API с использованием загрузки Spring для тестирования моей клиентской библиотеки Java (которая представляет собой преобразование клиента JS). Клиент Java выполняет некоторые асинхронные задачи и возвращает ответ в виде обратного вызова.

Вот пример того, как я вызываю его из службы моего примера приложения.

Код: Выделить всё

@Async
public void initializeUser(InitRequest initRequest) {

String BASE_URL = "http://sample_url";

client.initUser(BASE_URL, initRequest, new ResponseCallback() {

@Override
public void onSuccess(@NonNull InitRequest arg0) {
// Return arg0 to controller
System.out.println("User Initialized: " + arg0.getId());
}

@Override
public void onError(@NonNull ResponseBody error) {
// Return error to controller
System.out.println("User Initialize failed");
}

@Override
public void validationError(@NonNull String arg0) {
// return validationError to controller
// TODO Auto-generated method stub

}
});
}
Здесь initUser — это метод, реализованный в моем клиенте. Когда я вызываю этот метод из своего контроллера. Контроллер возвращается до завершения фактического запроса, и я не вижу никакого ответа в почтальоне.

Вот метод контроллера.

Код: Выделить всё

@RequestMapping(method=RequestMethod.POST, value = "/init" )
public void initUser( @RequestBody InitRequest initRequest) {
experimentServices.initializeUser(initRequest);
// wait for request to finish and send response to user
}
Как и в JavaScript, я могу использовать обещания или async/await, чтобы дождаться, пока службы дадут ответ, прежде чем вернуться к пользователю.

Я хотел знать.....

1) Как добиться чего-то подобного на Java? (Службы возвращают некоторые данные контроллеру, которые затем передаются в качестве ответа конечному пользователю).

2) Методам Java требуется конкретный возвращаемый ответ, в то время как службы могут выдавать Error, ValidationError или Successfull. объект ответа. Есть ли способ правильно обработать все это в одной функции?

Любые ссылки или документация помогут.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/609 ... n-services
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»