2017-12-07 12 views
0

私のVertexプロジェクトにOpenAPI仕様を生成したい。次のようにだから私はちょうど私のJSONオブジェクトを返す簡単なVERTXサーバーを持っている:vertexプロジェクトのOpenAPI仕様を生成する

package server; 

import io.vertx.core.AbstractVerticle; 
import io.vertx.core.http.HttpServer; 
import io.vertx.core.http.HttpServerRequest; 
import io.vertx.core.http.HttpServerResponse; 
import io.vertx.core.json.JsonArray; 
import io.vertx.core.json.JsonObject; 
import io.vertx.ext.web.Router; 
import io.vertx.ext.web.RoutingContext; 
import io.vertx.ext.web.handler.BodyHandler; 

public class Server extends AbstractVerticle { 

    @Override 
    public void start() throws Exception { 
    HttpServer server = vertx.createHttpServer(); 
    Router router = Router.router(vertx); 
    router.route("/v0.2.2/*").handler(this::responseSetUp); 
    router.get("/v0.2.2/location").handler(this::getLocation); 
    server.requestHandler(router::accept).listen(8004); 
    } 

    public void responseSetUp(RoutingContext context) { 
    HttpServerResponse response = context.response(); 
    response.putHeader("Access-Control-Allow-Origin", "*") 
     .putHeader("Access-Control-Allow-Methods", "GET, POST, PUT , DELETE, OPTIONS") 
     .putHeader("Access-Control-Allow-Headers", "Content-Type,cache-control, x-requested-with") 
     .putHeader("Access-Control-Max-Age", "86400"); 
    context.next(); 
    } 

    public void getLocation(RoutingContext context) { 
    JsonObject location = new JsonObject(); 
    location.put("city", "Bangalore"); 
    location.put("country", "India"); 
    location.put("pin", 560095); 
    HttpServerResponse response = context.response(); 
    response.putHeader("content-type", "application/json"); 
    response.setChunked(true); 
    response.write(location.toString()); 
    response.end(); 
    } 
} 

私はこのルートのOpenAPIの仕様を生成します。私はSwaggerを初めて使っていて、グーグルではRestEasy、Mule、Jersey1、Jersey2、Springのチュートリアルを見ることができましたが、vertxでは見ることができませんでした。

誰でも私を助けてくれるポインタがありますか?

申し訳ありませんが、質問は素朴です。

答えて

1

Vert.x 3.5.0には、Vert.x Web API Contractという名前の新しいパッケージがあり、リクエストに応じてルータと検証ハンドラを生成するのに役立ちます。 slush-vertxでプロジェクトのスケルトンを生成することもできます。これは、プロジェクトの足場を助けるコマンドラインツール

関連する問題