소스:
https://github.com/julyinsung/vertx_sample/tree/master/vertx-web참고:
vertx-web: http://vertx.io/docs/vertx-web/java/rest example: https://github.com/vert-x3/vertx-examples/blob/master/web-examples/src/main/java/io/vertx/example/web/rest/SimpleREST.java
환경:
vertx 3.x, java1.8, Eclipse개요:
vertx의 web 라이브러리를 이용하여 간단한 rest api서버를 만들고 mongodb에 조회및 insert 기능.rest 구현 클래스와 mongodb 클래스는 eventbus를 이용한다.
설명:
vertx web을 사용하기 위해서는 pom.xml에 dependency를 추가한다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<dependency> | |
<groupId>io.vertx</groupId> | |
<artifactId>vertx-web</artifactId> | |
<version>3.4.1</version> | |
</dependency> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public void start() { | |
// router를 생성한다. router에 여러 설정을 할 수 있다. | |
Router router = Router.router(vertx); | |
router.route().handler(BodyHandler.create()); | |
//router.route().handler(BodyHandler.create().setBodyLimit(1)); | |
//router.route().consumes("application/json").produces("application/json"); | |
// url 매핑 | |
router.get("/book").handler(this::handlerGet); | |
router.put("/book/title").handler(this::handlerPut); | |
// event bus | |
eb = vertx.eventBus(); | |
// 다른 verticle를 deploy한다. | |
vertx.deployVerticle("vertx.mongo.sample.MongodbpersisterVerticle"); | |
// http 서버를 띄운다. | |
vertx.createHttpServer().requestHandler(router::accept).listen(8080); | |
} |
당연히 address는 같아야 한다.
vertx.eventBus().send(address, message, handler)
vertx.eventBus().consumer(address, handler)
댓글 없음:
댓글 쓰기