我使用MSF4J创建了一个微服务,并用postman测试了资源,一切正常,但是当我在Angular 5客户端应用程序中使用它时,浏览器会发送一个额外的http OPTIONS请求来检查CORS,我得到了一个"405 Method Not Allowed“的响应。有人能帮上忙吗?
发布于 2018-11-29 09:30:51
MSF4J没有CORS支持。如果要处理CORS请求,可将OPTION添加到资源方法中
发布于 2019-04-26 18:26:33
我遇到了同样的问题,我使用了一个名为ESB 的firefox插件,只是出于开发目的,但当它投入生产时,我必须通过一个在insequence中具有以下属性的传递请求
<property name="Access-Control-Allow-Origin" scope="transport" type="STRING" value="*"/>这就解决了这个问题。我仍然不知道是否可以在微服务本身上启用CORS
发布于 2019-08-01 22:53:09
您必须实现一个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;
}https://stackoverflow.com/questions/53455483
复制相似问题