我是Vert.x的新手,但是作为Java开发人员(非常努力),与NodeJS或其他任何基于Reactor的框架/库相比,我觉得它更加有趣并且很有前途。 因此,我正在使用Vert.x实现一个非常简单的Restful API。

今天的问题是我想在大多数(所有)响应中包含某些HttpHeaders。 例如,将Content-type设置为“ application / json”。 将来可能还会添加其他一些。

我有点想知道自己是Vert.x的新手,然后我才意识到, 本博客文章 (请参见BodyHandler的使用)最终提出的建议实际上对我有用 。

所以我有我的主要VertxMain java应用程序,在其中注册了MyWebVerticleApp

package com.javapapo.vertxweb;import io.vertx.core.Vertx;
import io.vertx.core.VertxOptions;/*** Created by <a href="mailto:javapapo@mac.com">javapapo</a> on 15/11/15.*/
public class VertxEngineMain {public static void main(String[] args) {VertxOptions opts = new VertxOptions();Vertx vertx = Vertx.vertx(opts);vertx.deployVerticle(new MyWebVerticleApp());}}

然后,我创建了一个小的处理程序,称为BaseResponseHandler ,该处理程序最终在响应中添加了HttpHeader

package com.javapapo.vertxweb.handlers;import io.netty.handler.codec.http.HttpResponse;
import io.vertx.core.Handler;
import io.vertx.core.http.HttpHeaders;
import io.vertx.core.http.HttpServerRequest;
import io.vertx.core.http.HttpServerResponse;
import io.vertx.ext.web.RoutingContext;/*** Created by <a href="mailto:javapapo@mac.com">javapapo</a> on 27/11/15.*/
public class BaseResponseHandler implements Handler<RoutingContext>{@Overridepublic void handle(RoutingContext context) {HttpServerResponse response = context.response();response.putHeader(HttpHeaders.CONTENT_TYPE.toString(), "application/json");//other stuff!response.setChunked(true);context.next();}}

然后,在MyWebVerticle我只是在路由器链接中注册要一直调用的处理程序。

package com.javapapo.vertxweb;import com.javapapo.vertxweb.handlers.BaseResponseHandler;
import com.javapapo.vertxweb.handlers.StatusHandler;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Future;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.HttpServerResponse;
import io.vertx.ext.web.Route;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.BodyHandler;/*** Created by <a href="mailto:javapapo@mac.com">javapapo</a> on 16/11/15.*/
public class MyWebVerticleApp extends AbstractVerticle {@Overridepublic void start(Future<Void> fut) {HttpServer server = vertx.createHttpServer();Router router = Router.router(vertx);//enable the base response handler overall!router.route().handler(new BaseResponseHandler());router.route("/status/").handler(new StatusHandler());server.requestHandler(router::accept).listen(8080);}
}

翻译自: https://www.javacodegeeks.com/2015/11/setting-basic-response-http-headers-rest-resources-simple-vertx-rest-based-app.html

在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头相关推荐

  1. vertx rest 跨域_在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头...

    vertx rest 跨域 我是Vert.x的新手,但作为Java开发人员(辛勤工作),与NodeJS或其他任何基于Reactor的框架/库相比,我觉得它更加有趣并且很有前途. 因此,我正在使用Ver ...

  2. 基于简单工厂模式的计算器程序

    这个计算器是我学Java时写的第一个Swing程序,后来我读<大话设计模式>的第一章简单工厂模式恰好也是计算器,于是就改进了之前这个. 源代码下载:https://github.com/m ...

  3. 微信小程序上传,以及设置为体验版

    点击工具里面有上传 之后去登录小程序后台 再下滑 这里可以设置 有个情况,上传了之后在开发版本里面没看到 是appID不一致 查看appID: 然后复制,去给开发者工具的appID改为一致 这个时候再 ...

  4. kindle fire1代_如何在Kindle Fire的电子邮件应用程序上为自定义域设置Gmail

    kindle fire1代 If you've just opened your shiny new Kindle Fire and tried to connect it to Gmail usin ...

  5. 微信小程序上拉下拉背景色设置

    在pages.json里面设置"backgroundColor": "#F8F9FD"

  6. linux使用gcc实现扫雷,基于linux环境下扫雷应用程序

    基于linux环境下扫雷应用程序 (16页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 <网络操作系统>报告(应用程序开发) ...

  7. 多功能工具箱微信小程序源码下载-操作简单实用流量主小程序

    这是一款多功能工具箱小程序! 目前由N款小功能组合成 比如: 图片拼接 九宫格切图 透明昵称 文字表情 等等上面说的只是一部分 该款小程序无需服务器与域名 使用微信开发者工具打开文件然后上传提交审核即 ...

  8. test.php创建,基于phpstudy简单快速搭建一个php程序

    原标题:基于phpstudy简单快速搭建一个php程序 人人都是程序员,希望在零碎的阅读时间里,给您一些技术提升. 1 安装phpstudy 通过以下链接download.csdn.net/downl ...

  9. 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序

    摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...

最新文章

  1. 【南洋理工-CVPR2022】视觉语言模型的条件提示学习
  2. 产品经理技能树之 数据体系
  3. tf.metrics.accuracy
  4. 企业架构 - ADM方法概要介绍
  5. 【Ubuntu-Tensorflow】GPU设置及显存资源分配
  6. 【BZOJ1001】[BeiJing2006]狼抓兔子
  7. Linux Cpu 利用率计算
  8. 如何科学地浪费朋友手中的啤酒
  9. okHttp记录---response.body().string()输出的结构是乱码
  10. IAR下μCosIII移植心得
  11. Airflow 中文文档:项目
  12. 1使用技巧_【掘金使用技巧1】合成长周期k线的函数
  13. OO第二次博客——电梯系列总结
  14. 使用计算机程序的设计语言是,计算机程序设计语言有哪些?
  15. Origin软件使用TIPS
  16. 华为荣耀8C安装Google play store的记录
  17. 世上有不用加班的程序员吗?
  18. 关于年薪百万,聊聊年薪380万的研发人是什么样子的
  19. jQuery 插件库
  20. 【翻译】Xv6 book Chapter 8:File system

热门文章

  1. Intellij Idea乱码解决方案都在这里了
  2. 分布式系统架构常识:CAP理论
  3. 史上最全Java多线程面试题
  4. C++描述杭电OJ 2023.求平均成绩 ||
  5. React中BrowserRouter与HashRouter的区别
  6. 2019蓝桥杯省赛---java---A---4(迷宫)
  7. HBase体系架构说明
  8. python下面的代码_解析一下下面的python代码?
  9. 数据库死锁_死锁荔枝_解决方法
  10. wxpay-api:pay_J2Pay – API响应