В моем текущем проекте весны я добавляю несколько пар классов (контроллер/сервис), чтобы предоставить возможность оплаты через несколько платежных сервисов. Каждый из этих классов имеет структуру вроде:Как перенаправить внешний URL из класса обслуживания?
контроллера
@Controller
@RequestMapping(value = "pagseguro")
public class pagseguroPaymentController extends paymentController<Pagseguro> {
...
@Override
@RequestMapping(value = "comprar", method = RequestMethod.POST)
public void comprar(String payerId, String guid) throws Exception {
this.payment.comprar(payerId, guid);
}
...
}
сервиса
@Service
public class pagseguroPaymentService extends paymentService<Pagseguro> {
...
@Override
public void comprar(String payerId, String guid) throws Exception {
...
String response = checkout.register(null, false);
}
...
}
в методе comprar
от класса обслуживания, мне нужно перенаправить приложение к URL, сохраненный в переменной String (response
в приведенном выше примере).
Моя первоначальная идея заключается в использовании библиотеки java.net
из Java и создать utilitary класс вроде этого:
public class Redirect {
public static String url;
public static void redirect() {
...
}
}
Любой человек может дать мне подсказку о том, как достичь этого?
Любое перенаправление должно выполняться в '@ Controller', а не в обслуживании. Вы должны отправить уведомление из службы и, возможно, URL-адрес для перенаправления на '@ Controller' и выполнить перенаправление там. –