Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >将通过Node.js构建的API部署到IBM Bluemix

将通过Node.js构建的API部署到IBM Bluemix

作者头像
念遥远
发布于 2018-01-15 03:29:05
发布于 2018-01-15 03:29:05
2.8K00
代码可运行
举报
运行总次数:0
代码可运行

在我先前的文章中,我通过一个简单的hello world示例介绍了如何在Node.js应用程序中使用Swagger记录API。下面我将演示如何把相同的示例通过Docker部署到Bluemix,以及在调用API时如何使用[API管理服务来强制执行客户端ID和密钥,使得API所有者可以监视其API的使用情况。

将Node.js应用程序作为Docker容器部署到IBM Bluemix

首先,你需要在你项目的根目录下添加一个Dockerfile。该文档(https://www.ng.bluemix.net/docs/images/docker\_image\_ibmnode/ibmnode\_starter.htm 注:文档链接)描述了如何做到这一点。因为我不需要SSH,所以我使用一个较为简单的Dockerfile。)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FROM registry.ng.bluemix.net/ibmnode:latest

COPY . /node

WORKDIR /node

RUN npm install

EXPOSE 9080

CMD ["node", "/node/app.js"]
代码语言:txt
AI代码解释
复制
  由于IBM Containers(托管在Bluemix上的Docker)仅支持特定的端口,所以我使用端口9080而不是原来的示例中的10010。我也必须更改app.js和swagger.yaml中的端口。为了在本地运行应用程序,您需要调用以下URL。

http://127.0.0.1:9080/hello?name=Niklas

http://127.0.0.1:9080/swagger

要构建Docker镜像并在本地运行,请在根目录调用以下命令。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker build -t node-swagger-hello-world .

docker run --name node-swagger-hello-world -p 80:9080 -d -t node-swagger-hello-world

然后你可以在我们本地的Docker环境中运行示例。

http:// dockerhost / hello?name = Niklas

http:// dockerhost / swagger

请调用以下命令可以将镜像推送到Bluemix。

创建一个Docker容器组并且在Bluemix上运行这个示例。

之后,你可以在Bluemix上运行你的REST API。

http://node-swagger-docker-hello-world.mybluemix.net/swagger

http://node-swagger-docker-hello-world.mybluemix.net/hello?name=Niklas

使用API管理服务

代码语言:txt
AI代码解释
复制
借助Bluemix中的API管理服务,你可以管理和监控你的API。在下一部分中,我将介绍如何在调用API时强制使用一个客户端ID和密钥,以便可以跟踪哪些应用程序调用的哪些API。可以通过指向上面的Swagger 2.0定义来导入API定义,并且也可以在API管理服务的面板中配置其他设置。

开发者需要注册应用程序来调用API应用程序。

应用程序可以调用他们感兴趣的API的计划,并通过提供客户ID和密码的方式直接从开发人员门户测试API。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring MVC控制器的14个技巧
这是创建可以处理一个或多个请求的控制器类的最简单方法。仅通过用构造型注释一个类@Controller ,例如:
程序员小假
2025/04/19
830
Spring 框架学习 (八) Spring MVC 的控制器
当你要处理请求映射时需要使用 @RequestMapping 注解。@RequestMapping 注解不仅可以放在函数前 也可以放在类前。
求和小熊猫
2020/11/25
9330
SpringBoot学习笔记(三)——Spring MVC控制器、 Restful、Swagger
控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现。 控制器解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器可以包含多个Action(动作、方法)。
张果
2022/05/09
1.6K0
SpringBoot学习笔记(三)——Spring MVC控制器、 Restful、Swagger
spring(错误一) spring mvc上传多张图片,报错:java.lang.NoSuchMethodException解决方案
出现这个错误的原因是 在方法里面 MultipartFile[] files没有加入@RequestParam;
Java架构师必看
2021/05/31
5030
Spring MVC-04循序渐进之基于注解的控制器
Spring MVC-03循序渐进之Spring MVC中我们介绍了传统的开发方式,其弊端Controller接口实现类只能处理一个单一动作,本篇博文我们来介绍下基于注解的控制器。
小小工匠
2021/08/17
9860
Java学习之Spring MVC入门
前面写了SSM 的两大框架,分别是Mybatis和Spring,这里来写一下Spring MVC框架的相关内容。
全栈程序员站长
2022/07/13
2710
分享 14 个 Spring MVC 顶级技巧!
通常,在Spring MVC中,我们编写一个控制器类来处理来自客户端的请求。然后,控制器调用业务类来处理与业务相关的任务,然后将客户端重定向到逻辑视图名称,该名称由Spring的调度程序Servlet解析,以呈现结果或输出。
Java技术栈
2020/03/10
1K0
spring mvc基础配置
初始化 DispatcherServlet 时,该框架在 web 应用程序WEB-INF 目录中寻找一个名为[servlet-名称]-servlet.xml的文件,并在那里定义相关的Beans,重写在全局中定义的任何Beans,像上面的web.xml中的代码,对应的是dispatcher-servlet.xml;当然也可以使用<init-param>元素,手动指定配置文件的路径;
WindWant
2020/09/11
6010
Spring MVC 的请求映射与参数
 编码处理 HTTP 请求的首要问题是要获取用户所提交的参数。原生 HTTP 参数都是字符串类型的,在传统 Servlet 中,我们需要通过 request 对象获取。
用户10175992
2022/11/15
1.6K0
Spring MVC 的请求映射与参数
Spring MVC中redirect重定向3种方式(带参数)
Spring MVC中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,其中redirect是直接跳转到其他页面,有以下3种方法进行重定向。
全栈程序员站长
2022/11/03
3.6K0
SpringMVC的架构有什么优势?——控制器(一)
控制器是Spring MVC中最重要的组件之一,它处理来自客户端的请求并返回响应。控制器通常使用注解或XML配置方式将请求映射到处理方法上。 控制器(Controller)是Spring MVC中最重要的组件之一,它负责接收来自客户端的请求并执行相应的业务逻辑,并将结果返回给客户端。Spring MVC框架提供了多种方式来实现控制器,其中最常用的方式是使用注解或XML配置方式将请求映射到处理方法上。
一只
2024/07/02
1330
SpringMVC的架构有什么优势?——控制器(一)
Spring MVC 学习总结(三)——请求处理方法Action详解
Spring MVC中每个控制器中可以定义多个请求处理方法,我们把这种请求处理方法简称为Action,每个请求处理方法可以有多个不同的参数,以及一个多种类型的返回结果。
张果
2022/05/09
2.7K0
Spring MVC 学习总结(三)——请求处理方法Action详解
Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解
控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现。 控制器解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器可以包含多个Action(动作、方法)。
张果
2022/05/09
9980
Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解
SpringMVC-03 RestFul和控制器
Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
张小驰出没
2021/04/15
4500
SpringMVC-03  RestFul和控制器
史上最强Spring mvc入门
一、SpringMVC基础入门,创建一个HelloWorld程序   1.首先,导入SpringMVC需要的jar包。   2.添加Web.xml配置文件中关于SpringMVC的配置 <!--c
xiangzhihong
2018/02/01
1.3K0
史上最强Spring mvc入门
Spring MVC使用ModelAndView进行重定向
使用servlet重定向有两种方式,一种是forward,另一种就是redirect。forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,地址栏的url与你之前访问的url保持不变。redirect则是客户端重定向,是服务器将你当前请求返回,然后给个状态标示给你,告诉你应该去重新请求另外一个url,具体表现就是地址栏的url变成了新的url。
kirin
2021/03/25
2.8K0
Spring 全家桶之 Spring Web MVC(二)- Restful
创建一个新的Maven工程,导入依赖,添加Framework Support,选择Web,配置web.xml,创建Spring MVC的配置文件,点击Project Structure,在Artifacts目录下选择WEB-INF,点击创建lib文件夹,并将右侧的jar导入新建的lib文件夹下,配置Tomcat,配置项目请求地址为/,启动Tomcat
RiemannHypothesis
2022/08/19
4110
Spring 全家桶之 Spring Web MVC(二)-  Restful
Spring MVC-05循序渐进之数据绑定和form标签库(下) 实战从0到1
Spring MVC-05循序渐进之数据绑定和form标签库(上) 博文中我们学习了数据绑定和form标签库,那我们来写一个小demo练习下吧。
小小工匠
2021/08/17
5600
Spring MVC 基于Method的映射规则(注解版)
在Restful风格的web开发中,根据不同的请求方法使用相应的控制器处理逻辑成为核心需求,下面就看看如何在Spring MVC中识别不同的请求方法。 请求方法 在Http中,请求的方法有很多种,最常见的就是GET、POST,他们的差异就不过多赘述了。由于Restful概念的兴起,即使用Url的不同请求方法来控制业务方法,很多请求方法都开始流行起来,比如PUT、DELETE等等。 那么就先介绍下各个请求方法的使用场景吧! GET 平时网页的一些基本的URL都是GET请求的,用于执行查询操作。 但是由
用户1154259
2018/01/17
1K0
Restful风格的CRUD实现、Restful风格的Spring MVC实现
对于整个现在求职来讲,包括工作来讲,掌握Restful架构的思想还是很重要的,一切都是资源操作。
爱明依
2019/03/12
8870
推荐阅读
相关推荐
Spring MVC控制器的14个技巧
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验