поддержка msf4j для cors - PullRequest
       24

поддержка msf4j для cors

0 голосов
/ 24 ноября 2018

Я создал микросервис с использованием MSF4J и протестировал ресурсы с почтальоном, все работает нормально, но когда я использую его с клиентским приложением Angular 5;браузер отправляет дополнительный запрос http OPTIONS для проверки CORS Я получаю ответ «405 Method Not Allowed».Кто-нибудь может помочь в этом?

Ответы [ 3 ]

0 голосов
/ 26 апреля 2019

У меня была та же проблема, и я использовал плагин Firefox под названием CORS Everywhere только для целей разработки, но когда он был запущен в производство, мне пришлось пропустить запросы через ESB, который имеет следующее свойство в insequence

<property name="Access-Control-Allow-Origin" scope="transport" type="STRING" value="*"/>

Это решило проблему.Я до сих пор не знаю, возможно ли включить CORS на самом микросервисе

0 голосов
/ 01 августа 2019

Вам нужно будет реализовать метод OPTIONS.Вот пример, который я использовал в старом проекте:

@GET
@Path("device")
@Produces({ "application/json" })
@RequestInterceptor(DeviceBasicAuthInterceptor.class)
public Response deviceGet() throws NotFoundException {
    //...
    return result;
}

@OPTIONS
@Path("device")
public Response deviceOptions() throws NotFoundException {
    String allowedOrigin = null;
    try {
        allowedOrigin = PropertyFileHandler.getInstance().getPropertyValueFromKey("api.cors.allowed");
    } catch (IllegalArgumentException | PropertyException | IOException e) {
        LOGGER.error("Could not get allowed origin.", e);
    }
    Response response = Response.ok().header("Allow", "GET").header("Access-Control-Allow-Origin", allowedOrigin)
            .header("Access-Control-Allow-Headers", "authorization, content-type").build();
    return response;
}
0 голосов
/ 29 ноября 2018

MSF4J не поддерживает CORS.Вы можете добавить OPTION к своим ресурсным методам, если хотите обрабатывать запросы CORS

...