Как исправить ошибку «Не удалось выполнить OPTIONS» в конечной точке реактивного соединения Quarkus? - PullRequest
0 голосов
/ 15 октября 2019

Я разрабатываю API с использованием Quarkus 0.24.0 и следующих расширений: [cdi, реактивный-pg-клиент, rest-клиент, resteasy, resteasy-jackson, security, vertx]

Вот один из нихмаршрута, который я реализовал:

@Path("/users")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class UsersResource {

    @Inject
    KeycloakUsersService keycloakUsersService;

    @GET
    @RolesAllowed({"ADMIN"})
    public CompletionStage<Response> getUsers(@QueryParam("search") String searchQuery) {
        return keycloakUsersService.getUsers(searchQuery)
                .thenApply(Response::ok)
                .thenApply(Response.ResponseBuilder::build)
                 .exceptionally(throwable -> {
                    logger.error("Wut ?" + throwable.getMessage());
                    return Response.status(500).entity("Something wrong happened while retrieving users from Keycloak : " + throwable.getCause()).build();
                });
    }
}

Все шло гладко, пока я не начал использовать свой API с помощью Angular. Перед вызовом API есть запрос OPTIONS, который не выполняется:

 Failed executing OPTIONS /users: org.jboss.resteasy.spi.DefaultOptionsMethodException: RESTEASY003655: No resource method found for options, return OK with Allow header

Я попытался добавить следующее в application.properties, но безуспешно:

quarkus.http.cors.origins=http://localhost:4200,http://localhost:8080
quarkus.http.cors.headers=accept, authorization, content-type, x-requested-with
quarkus.http.cors.methods=GET, OPTIONS, POST

Как я могуисправить запрос ОПЦИИ? Есть ли способ для глобальной обработки запросов OPTIONS?

1 Ответ

0 голосов
/ 15 октября 2019

Кажется, это проблема CORS. Вы пробовали это?

quarkus.http.cors = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...