vertx rest 跨域

Vertx提供了许多在轻量级环境中进行编程的选项,例如node.js。 但是,对于新用户来说,选择采用哪种方法来创建REST API几乎不会造成混淆。

在vertx中进行编程时,可以采用不同的模型。 下面通过易于理解的图表进行说明。

PS – vertx编程的核心是对vertx对象的引用, 该对象可以是静态获取的,也可以是具有继承AbstractVerticle类的顶点的继承成员。 现在您知道了在哪里获取vertx对象。 让我们进一步潜水。

vertx中不同的编程模型分为以下几类,我为每个模型添加了一些有趣的名称:):-

  1. 面对面的方法
  2. 媒人方法
  3. 配对教练法

模型1 – FaceToFace方法

如图所示,在此模型中,客户端以http请求的形式发送事件,这些事件通过Router缓冲到服务器verticle。 路由器可以通过使用获得
Router.router(顶点)

现在,我们可以配置路由器以处理http请求。 小心,路由器处理程序是同步调用。 要运行阻止调用或任何异步操作,请使用executeBlocking或采用Model#2

模型2 –媒人方法

顾名思义,您不能直接与其他人交谈,您将不得不经过约会比赛制作者,即事件总线。 当您在不同的计算机上运行许多微服务或要在一台计算机上模块化代码时,此模型很有用。 消息具有标头,正文,地址,并且通过调用message.reply(Object),接收方顶点可以将响应发送回发送方。

模式3:配对教练方法

在这里,媒人也将成为一名教练,他将帮助您如何连接其他顶点。 它通过代码生成来帮助将服务与事件总线绑定,从而使调用服务方法更加容易。

主要思想是服务名称服务(java接口)以及将作为REST API公开的相应实现服务实现 。 但是在vertx中不可能像在Spring Web或其他框架中那样直接。 为了公开Service接口,您需要创建AsyncService接口及其实现,该接口将模仿Service方法,但是签名几乎没有什么不同。

示例:在服务界面中,您可以使用以下方法:

public User getUser(final String verificationToken) {...}

在异步服务界面中,外观类似,

void getUser(String verificationToken, Handler<AsyncResult<User>> resultHandler)

在这里,我们以vertx Handler的形式向该方法添加了一个额外的参数,该参数返回一个AsyncResult,从而可以进行非阻塞调用。 同样,返回类型为void。 可以使用resultHandler回调从客户端获取结果。

请在下方留下你的意见。

编码愉快!

翻译自: https://www.javacodegeeks.com/2018/03/vertx-programming-style-your-reactive-web-companion-rest-api-explained.html

vertx rest 跨域

vertx rest 跨域_Vertx编程风格:您的React式Web Companion REST API解释了相关推荐

  1. Vertx编程风格:您的反应式Web Companion REST API解释了

    Vertx提供了许多在轻量级环境中进行编程的选项,例如node.js. 但是,对于新用户来说,选择采用哪种方法来创建REST API几乎不会造成混淆. 在vertx中编程时可以采用不同的模型. 下面通 ...

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

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

  3. JSONP跨域的原理解析及其实现介绍

    JSONP 即 Json padding ,JSONP跨域GET请求是一个常用的解决方案,下面我们来看一下JSONP跨域是如何实现的,并且探讨下JSONP跨域的原理 JavaScript是一种在Web ...

  4. 【javaWeb微服务架构项目——乐优商城day03】——(搭建后台管理前端,Vuetify框架,使用域名访问本地项目,实现商品分类查询,cors解决跨域,品牌的查询)

    乐优商城day03 0.学习目标 1.搭建后台管理前端 1.1.导入已有资源 1.2.安装依赖 1.3.运行一下看看 1.4.目录结构 1.5.调用关系 2.Vuetify框架 2.1.为什么要学习U ...

  5. [Unity WWW] 跨域访问解决方法

    什么是跨域访问 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation).信任关系是连接在域与域之间的桥梁.当一个域与其他域建立了信任 ...

  6. jQuery中getJSON跨域原理详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp28 jQuery中getJSON跨域原理详解 前几天我再开发一个叫 河蟹工 ...

  7. 什么是跨域,什么是同源

    所谓跨域 1.就是跨域名,跨端口,跨协议      例如:如果有两个服务器,服务器A和服务器B,服务器A上存储了php数据,script,甚至是css这些文件,而你在服务器B上只写了html,然后你所 ...

  8. Springboot 利用CORS 解决跨域问题

    什么是跨域 首先我们先用springboot 建立1个简单的API, 它返回1个json package com.example.demo_api_cors.controller;import com ...

  9. 从实例入手学习使用vue+axios配置代理进行跨域访问百度音乐API

    场景 如果要使用axios直接进行跨域访问是不可以的,这是就需要配置代理了,为什么要配置代理呢? 原因就是因为客户端请求服务端的数据是存在跨域问题的,而服务器和服务器之间可以相互请求数据,是没有跨域的 ...

最新文章

  1. HDU1051Wooden Sticks
  2. mysql中添加外键属性_Python将值插入外键属性(MYSQL)
  3. ios底部栏设计规范_UI设计:iOS 界面规范
  4. matlab 图像分割 提取人像_数字图像处理实验合集(含代码、报告)
  5. 【python进阶】_多线程多进程
  6. lombok null字段不显示 继承_Lombok 要知道的 8 个点
  7. Springboot分模块开发详解(2):建立子工程
  8. python导入自定义模块_Python3 导入自定义的包
  9. linux卸载nomachine,NoMachine 安装与配置及使用
  10. 打印机计算机故障或繁忙,为什么打印机可以通过电脑打印可不能扫描呢
  11. 【Maven】maven 插件 maven-surefire-plugin
  12. 微信小程序 一些要点
  13. 语音识别已逐渐普及 搜狗讯飞各具特色
  14. springboot图书管理怎么实现借书时间到期提醒_东和店镇第一小学图书数字化管理先进做法...
  15. ui分离的进程 如何查找窗口句柄_如何使用 Linux screen
  16. 撰写美国作业使用APA与MLA格式的区别是什么?
  17. linux系统支持网银吗,我彻底方了!Linux下竟然也能使用网银?(图)
  18. Win11系统设置自动关机的方法分享
  19. 区块链开发如何选择底层平台和开发语言?
  20. FCES2019第二天 | BY AI,AI技术赋能教育的N种可能

热门文章

  1. [SDOI2019] 热闹的聚会与尴尬的聚会
  2. jzoj4282-[NOIP2015模拟10.29B组]平方数游戏【构造】
  3. jzoj4745-看电影【期望概率,数学】
  4. Codeforces Round #660 (Div. 2)
  5. 【c++算法刷题笔记】——洛谷2
  6. 【LCT】遥远的国度(P3979)
  7. 【bfs】Replication G(P7151)
  8. 【dfs】GCD与LCM(jzoj 1608)
  9. 18、数据的备份和还原
  10. 一文理解Netty模型架构