点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

昨天被阿里云的这个酷炫大屏吸引了!

我等85后开发者居然这么少!挺好奇到底什么鬼东西都是90、95后在玩?就深入看了一下。

这是一个关于Serverless的体验活动,Serverless在国内一直都处于不温不火的状态,所以很多开发者其实都不太了解Serverless到底是啥!

如果你也有这样的好奇,那么可以跟我一样来体验一下,简单的写个Hello World,有个最直观的感受这个充满未来感产品吧!

P.S. 参加活动,加入钉钉群还能每天抽奖一次,有机会赢取AirPods、高达PG模型(我喜欢的)、Cherry机械键盘等丰富大礼哦!

如何参与

-【官方】活动主页:https://developer.aliyun.com/topic/yiqi/hol?utm_content=g_1000180354

-【官方】通关宝典:https://help.aliyun.com/document_detail/181573.html

官方文档还是如其他阿里项目一样的有待提高(lan)....

如果你最自己的探索能力有足够信心,可以直接通过官方文档来试试。

如果想少踩坑,可以看我下面写的超细致通关宝典,完成一个Java版本的Hello World!

第一步:进入产品列表,点击创建应用

第二步:选择“空应用”标签

  • Serverless应用服务器选择:“函数计算FC”

  • 开发语言选择:Java

第三步:填写应用名称、应用介绍,自己定义就好

第四步:点击新建的应用卡片中的“开发部署”按钮

第五步:新建 helloworld.java

内容如下:

package com.alibaba.serverless.helloworld;import java.io.UnsupportedEncodingException;
import java.util.UUID;import com.aliyun.fc.runtime.Context;
import com.aliyun.fc.runtime.FunctionComputeLogger;
import com.aliyun.fc.runtime.FunctionInitializer;
import com.aliyun.fc.runtime.PojoRequestHandler;
import com.aliyuncs.utils.Base64Helper;/*** 对应到部署路由中的函数名:* com.alibaba.serverless.helloworld.helloworld::handleRequest*/
public class helloworld implements FunctionInitializer, PojoRequestHandler<ApiGwRequest, ApiGwResponse> {/** 云函数运行时初始化时的回调函数。*/@Overridepublic void initialize(Context context) {FunctionComputeLogger logger = context.getLogger();logger.debug(String.format("RequestID is %s %n", context.getRequestId()));}/** Web云函数处理入口,每次调用时的入口。* @param request 每次请求的所有信息都在request中*/@Overridepublic ApiGwResponse handleRequest(ApiGwRequest request, Context context) {FunctionComputeLogger logger = context.getLogger();// 读取请求对象String requestPath = request.getPath();String bodyContext = "";if (requestPath.startsWith("")) {bodyContext = "你好,世界!";}// 构建返回对象ApiGwResponse response = new ApiGwResponse();response.getHeaders().put("responseHeader", "testValue");response.getHeaders().put("Content-type", "text/html; charset=utf-8");boolean isBase = false;if ( isBase ) {try {bodyContext = Base64Helper.encode(bodyContext, "UTF-8");} catch (UnsupportedEncodingException e) {isBase = false;}}response.setBody( bodyContext );response.setBase64Encoded( isBase );response.setStatusCode(200);logger.info("Response返回:" + bodyContext );return response;}
}

第六步:按下图操作,提交代码

第七步:部署应用到日常环境

点击左侧工具栏的第一个图标,进入部署界面,点击“添加一条路由”。

图中2部分的内容为:com.alibaba.serverless.helloworld.helloworld::handleRequest,对应的就是之前创建的 helloworld.java 中的handleRequest法,意思就是/helloworld请求会被这个类中的handleRequest来处理。

注意,请求方法要设置为POST,后面会说为什么!

第八步:测试/helloworld接口

在部署标签边上就有一个测试工具,输入用户路径/helloworld,点击测试就可以发起请求了,获得结果如下图所示:

回过头来看一下代码,对用的body内容:

这个测试工具是不是总觉得有点怪?!是的,居然没有HTTP Request Method的选择,这个请求默认都是用POST来发的,所以在上一步中我们配置了/helloworld为POST请求,不然这里就不会成功。看官方宝典的兄弟,发现这个坑了吗?

怎么样的?你的第一次Serverless之旅还算顺利吗?

点击这里一起来试试这种未来的开发方式吧

往期推荐

老司机给我们解读 Spring Boot 最流行的 16 条忠告

赠书:面向对象的两大迷思,再给你们解答一次

SpringBoot整合Netty并使用Protobuf进行数据传输

程序员接私活完整攻略+赠开源管理系统

记一次由Redis分布式锁造成的重大事故

三种 MySQL 大表优化方案

点击“阅读原文”直达活动首页

Serverless 初体验:快速开发与部署一个Hello World(Java版)相关推荐

  1. wordcount代码_通过腾讯云 Serverless Regsitry 快速开发与部署一个 WordCount 实例

    在学习 MapReduce 的过程中,不少人接触的第一个项目就是单词计数.单词计数通过两个函数 Map 和 Reduce,可以快速地统计出文本文件中每个单词出现的个数,它虽然简单,但也是最能体现 Ma ...

  2. 小熊派4G开发板初体验SDK开发

    小熊派4G开发板初体验 开发板硬件资源介绍 前阵子小熊派发布了一款超高性价比的4G开发板(19.8元包邮),但是板子仅限量1000套.小熊派官方给我送了一块,我们一起来学习学习: 板子做得小巧精致,控 ...

  3. 002开发、部署一个共享自行车区块链网络

    前言 在本系列第 1 部分文章的中,我们一起学习了 Fabric.Composer 基础知识,利用 Hyperledger Compose 搭建了 Fabric 本地开发环境,运行了一个示例区块链网络 ...

  4. Python web 开发:部署一个3行代码的wsgi app

    通过前面的两篇: Python Web开发:从 wsgi 开始 Python Web开发:开发wsgi中间件 我们已经知道我们平时开发的 django.flask 等 python web 项目本质上 ...

  5. 如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用

    Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,"没错, 我是在你的文章里看到了Fiori应用的 ...

  6. 用MUI花两天时间快速开发『One·一个』App,兼容Android、iOS双平台 1

    『One·一个』App 线上开源地址 App下载地址 MUI在线文档 以下所有 API 均由产品公司自身提供,本人皆从网络获取.获取与共享之行为或有侵犯产品权益的嫌疑.若被告知需停止共享与使用,本人会 ...

  7. [Django快速开发1]搭建一个简单的博客系统(1)

    系列文章目录 Django快速开发0快速搭建环境并得到django项目的hello world 文章目录 系列文章目录 前言 从Django的模型层开始书写 定义文章模型: 使用脚本向sqlite3中 ...

  8. wifidog java_家用环境下部署wifidog认证服务器(java版)

    本文所讲的是基于一个java版wifidog认证服务器的开源项目,在windows环境下搭建wifidog认证服务器配合apfree固件实现用户名密码的认证. 大致步骤如下: 一,准备 1.搭建硬件及 ...

  9. OWT (Open WebRTC Toolkit) 5.0 初体验与开发环境搭建

    介绍 OWT是Intel前些年开源的基于互联网的视频会议解决方案,可以支持WebRTC和SIP终端.这几年WebRTC应用的特别广泛,使用OWT可以快速搭建一个WebRTC视频会议系统.OWT最初仅支 ...

最新文章

  1. 标准成本、目标成本、实际成本
  2. 轻松一下——高考笑句
  3. 从0学习css开发之 font-size的基本用法
  4. 文献记录(part14)--Biclustering with dominant sets
  5. Blazor 准备好为企业服务了吗?
  6. 推荐+1置顶+1(分享、讨论、实现)通用软件注册功能之建立有效的软件保护机制...
  7. (原创)C++ IOC框架
  8. 推荐几个代码自动生成器,神器!!!
  9. c语言贪吃蛇(简易版本含完整代码)
  10. 大平原顾问快讯FRX移至新服务器
  11. linux skype的安装
  12. Netty和Tomcat有什么区别
  13. 惊蛰(insects awaken)
  14. 什么是敏捷项目管理?
  15. 计网自顶向下 学习笔记:Chap1
  16. AUTOSAR架构软件结构简介
  17. pytorch b站练习-5
  18. 工程项目成本为什么总是管不住?关键在管理方式
  19. cs ss ds es
  20. Linux字符串截取

热门文章

  1. linux systemd-logind 进程cpu占用100% 解决方法
  2. golang time 时间 加减法
  3. linux centos 查看桌面环境
  4. python3 中递归的最大次数
  5. linux下查看、删除指定文件名长度的文件
  6. hexo 博客框架 可用作知识库
  7. python中ThreadLocal的理解与使用
  8. 常用电脑密码破解技巧
  9. 不同文件系统类型及其修复
  10. 网络数据包收发流程(三):e1000网卡和DMA