在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头
我是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标头相关推荐
- vertx rest 跨域_在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头...
vertx rest 跨域 我是Vert.x的新手,但作为Java开发人员(辛勤工作),与NodeJS或其他任何基于Reactor的框架/库相比,我觉得它更加有趣并且很有前途. 因此,我正在使用Ver ...
- 基于简单工厂模式的计算器程序
这个计算器是我学Java时写的第一个Swing程序,后来我读<大话设计模式>的第一章简单工厂模式恰好也是计算器,于是就改进了之前这个. 源代码下载:https://github.com/m ...
- 微信小程序上传,以及设置为体验版
点击工具里面有上传 之后去登录小程序后台 再下滑 这里可以设置 有个情况,上传了之后在开发版本里面没看到 是appID不一致 查看appID: 然后复制,去给开发者工具的appID改为一致 这个时候再 ...
- 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 ...
- 微信小程序上拉下拉背景色设置
在pages.json里面设置"backgroundColor": "#F8F9FD"
- linux使用gcc实现扫雷,基于linux环境下扫雷应用程序
基于linux环境下扫雷应用程序 (16页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 <网络操作系统>报告(应用程序开发) ...
- 多功能工具箱微信小程序源码下载-操作简单实用流量主小程序
这是一款多功能工具箱小程序! 目前由N款小功能组合成 比如: 图片拼接 九宫格切图 透明昵称 文字表情 等等上面说的只是一部分 该款小程序无需服务器与域名 使用微信开发者工具打开文件然后上传提交审核即 ...
- test.php创建,基于phpstudy简单快速搭建一个php程序
原标题:基于phpstudy简单快速搭建一个php程序 人人都是程序员,希望在零碎的阅读时间里,给您一些技术提升. 1 安装phpstudy 通过以下链接download.csdn.net/downl ...
- 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序
摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...
最新文章
- 【南洋理工-CVPR2022】视觉语言模型的条件提示学习
- 产品经理技能树之 数据体系
- tf.metrics.accuracy
- 企业架构 - ADM方法概要介绍
- 【Ubuntu-Tensorflow】GPU设置及显存资源分配
- 【BZOJ1001】[BeiJing2006]狼抓兔子
- Linux Cpu 利用率计算
- 如何科学地浪费朋友手中的啤酒
- okHttp记录---response.body().string()输出的结构是乱码
- IAR下μCosIII移植心得
- Airflow 中文文档:项目
- 1使用技巧_【掘金使用技巧1】合成长周期k线的函数
- OO第二次博客——电梯系列总结
- 使用计算机程序的设计语言是,计算机程序设计语言有哪些?
- Origin软件使用TIPS
- 华为荣耀8C安装Google play store的记录
- 世上有不用加班的程序员吗?
- 关于年薪百万,聊聊年薪380万的研发人是什么样子的
- jQuery 插件库
- 【翻译】Xv6 book Chapter 8:File system