如何使Vertx请求处理程序期望JSON数据?

时间:2015-02-22 06:05:06

标签: json vert.x

我正在运行VertX HTTP Server。当内容类型是HTML /表单时,它理解请求,但是当我尝试发布JSON数据时,它甚至从未进入请求处理程序。

我需要做些什么来让Vertx期待JSON吗?这支持了吗?

2 个答案:

答案 0 :(得分:4)

这是一个java示例。请注意,将处理json的数据处理程序仅针对post请求执行。将带有一些json数据的请求发布到此处,它将以相同的方式返回。

import org.vertx.java.core.Handler;
import org.vertx.java.core.buffer.Buffer;
import org.vertx.java.core.http.HttpServerRequest;
import org.vertx.java.platform.Verticle;

/**
 * Simple Http server
 */
public class HttpVerticle extends Verticle {
    public void start() {
        vertx.createHttpServer()
                .requestHandler(new Handler<HttpServerRequest>() {
                    @Override
                    public void handle(final HttpServerRequest request) {
                        container.logger().info(
                                "Got request for " + request.path());
                        if (request.method().equalsIgnoreCase("POST")) {
                            request.dataHandler(new Handler<Buffer>() {
                                @Override
                                public void handle(Buffer data) {
                                    request.response().end("got data " + data);
                                }
                            });
                        } else {
                            request.response().end("got request");
                        }
                    }
                }).listen(8080);
        container.logger().info("HttpVerticle started");
    }
}

答案 1 :(得分:1)

如果可以的话,请查看最新的Vertx-web他们使用优雅的语法ala NodeJs路由提供了一种处理各种请求格式(多部分数据,url编码的参数,文件上传等)的非常简洁的方式

虽然您需要将代码迁移到Vertx 3.0