为了账号安全,请及时绑定邮箱和手机立即绑定

Cors 阻止客户端访问本地 vertx-server

Cors 阻止客户端访问本地 vertx-server

www说 2023-12-13 16:56:13
当我通过 jquery 获取 JSON 对象时,我遇到了 CORS 阻止客户端访问 vertx 服务器的问题。我发现vertx 应用程序中的 CORS 问题无法作为解决方案,但我似乎在实现中做错了一些事情。我测试的一个是 get-invokation,但我认为同样的问题适用于所有 api。@Overridepublic void start() {    Router router = Router.router(vertx);    router.route().handler(CorsHandler.create(".*.")            .allowedMethod(io.vertx.core.http.HttpMethod.GET)            .allowedMethod(io.vertx.core.http.HttpMethod.POST)            .allowedMethod(io.vertx.core.http.HttpMethod.OPTIONS)            .allowedHeader("Access-Control-Request-Method")            .allowedHeader("Access-Control-Allow-Credentials")            .allowedHeader("Access-Control-Allow-Origin")            .allowedHeader("Access-Control-Allow-Headers")            .allowedHeader("Content-Type"));    router.route("/api/diagrams*").handler(BodyHandler.create());    router.post("/api/diagrams").handler(this::insert);    router.delete("/api/diagrams/delete/:id").handler(this::delete);    router.get("/api/diagrams/get/:id").handler(this::get);    router.get("/api/diagrams/get/user/:username").handler(this::getByUser);    vertx.createHttpServer()            .requestHandler(router::accept)            .listen(7070);}private void get(RoutingContext rc) {    final String id = rc.request().getParam("id");    if (id == null) {        rc.response().setStatusCode(400).end();    } else {        UserDiagram diagram = userDiagramDao.get(id);        if (diagram == null) {            rc.response().setStatusCode(404).end();        } else {            rc.response()                    .putHeader("content-type", "application/json; charset=utf-8")                    // Are these necessary?                    .putHeader("Access-Control-Allow-Origin", "*")                    .putHeader("Access-Control-Allow-Methods", "POST, GET")                    .putHeader("Custom-Header", "Own-Data")                    .putHeader("Access-Control-Expose-Headers", "Custom-Header")                    //                    .end(Json.encodePrettily(diagram));        }    }}
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

尝试输入http://请求网址。

正如错误所示,仅支持 http、https 等协议的请求...


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信