首页 /  技术专区  /  Vert.x 宽屏模式 >

Vert.x获取请求参数——url参数

1、请求参数绑定模式

        url参数绑定第一种经典模式

        http://localhost:8888/test?page= 1 &age=10

        以?分隔url与params以&分隔各参数

        url参数绑定第二种rest模式

        http://localhost:8888/test/1/10

        纯粹以/分隔

2、新建UrlParamsVerticle文件

package vertx;

import io.vertx.core.AbstractVerticle;
import io.vertx.core.Promise;
import io.vertx.ext.web.Router;

public class UrlParamsVerticle extends AbstractVerticle {

  //第一步 声明Router
  Router router;

  @Override
  public void start(Promise<Void> startPromise) throws Exception {

    //第二步 初始化Router
    router = Router.router(vertx);

    //第三步 配置Router解析url
    /**
     * 经典模式
     * http://localhost:8888/test?page= 1 &age=10
     * 以?分隔url与params以&分隔各参数
     */
    router.route("/test").handler(
      req -> {
        //Vert.x获取请求url参数req.request().getParam()
        var page = req.request().getParam("page");
        req.response()
          .putHeader("content-type", "text/plain")
          .end(page);
      }
    );

    /**
     * rest模式
     * http://localhost:8888/test/1/10
     * 纯粹以/分隔
     */
    router.route("/test/:page").handler(
      req -> {
        //Vert.x获取请求url参数req.request().getParam()
        var page = req.request().getParam("page");
        req.response()
          .putHeader("content-type", "text/plain")
          .end(page);
      }
    );

    //第四步 将Router与vertx HttpServer 绑定
    vertx.createHttpServer().requestHandler(router).listen(8888, http -> {
      if (http.succeeded()) {
        startPromise.complete();
        System.out.println("HTTP server started on port 8888");
      } else {
        startPromise.fail(http.cause());
      }
    });
  }
}

3、访问测试

经典模式

image.png

rest模式

image.png



头像
0/200
图片验证码