Serverless 初体验:快速开发与部署一个Hello World(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> {

/*

  • 云函数运行时初始化时的回调函数。

*/

@Override

public void initialize(Context context) {

FunctionComputeLogger logger = context.getLogger();

logger.debug(String.format(“RequestID is %s %n”, context.getRequestId()));

}

/*

  • Web云函数处理入口,每次调用时的入口。

  • @param request 每次请求的所有信息都在request中

*/

@Override

public 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请求,不然这里就不会成功。看官方宝典的兄弟,发现这个坑了吗?

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值