This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.11.8.3. 关于调用 Quarkus 功能
您可以创建一个 Quarkus 项目来响应云事件,或创建响应简单 HTTP 请求的 Quarkus 项目。Knative 中的云事件作为 POST 请求通过 HTTP 传输,因此任一功能类型都可以侦听和响应传入的 HTTP 请求。
收到传入请求时,通过允许类型的实例调用 Quarkus 函数。
| 调用方法 | 实例中包含的数据类型 | 数据示例 | 
|---|---|---|
|   HTTP POST 请求  |   请求正文中的 JSON 对象  |   
									  | 
|   HTTP GET 请求  |   查询字符串中的数据  |   
									  | 
|   
									  |   
									  |   
									  | 
					以下示例显示了接收并处理上表中列出的 customerId 和 productId 购买数据的函数:
				
Quarkus 功能示例
					包含购买数据的对应 Purchase JavaBean 类如下:
				
类示例
public class Purchase {
    private long customerId;
    private long productId;
    // getters and setters
}
public class Purchase {
    private long customerId;
    private long productId;
    // getters and setters
}
11.8.3.1. 调用示例 复制链接链接已复制到粘贴板!
						以下示例代码定义了名为 withBeans、withCloudEvent 和 withBinary 的三个功能;
					
示例
						Functions 类的 withBeans 功能可以通过以下方法调用:
					
带有 JSON 正文的 HTTP POST 请求:
curl "http://localhost:8080/withBeans" -X POST \ -H "Content-Type: application/json" \ -d '{"message": "Hello there."}'$ curl "http://localhost:8080/withBeans" -X POST \ -H "Content-Type: application/json" \ -d '{"message": "Hello there."}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 带有查询参数的 HTTP GET 请求:
curl "http://localhost:8080/withBeans?message=Hello%20there." -X GET
$ curl "http://localhost:8080/withBeans?message=Hello%20there." -X GETCopy to Clipboard Copied! Toggle word wrap Toggle overflow 二进制编码中的
CloudEvent对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 结构化编码中的
CloudEvent对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
						与 withBeans 函数类似,可以利用 CloudEvent 对象来调用 Functions 类的 withCloudEvent 功能。但是,与 Beans 不同,CloudEvent 无法通过普通 HTTP 请求来调用。
					
						Functions 类的 withBinary 功能可通过以下方式调用:
					
二进制编码中的
CloudEvent对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 结构化编码中的
CloudEvent对象:Copy to Clipboard Copied! Toggle word wrap Toggle overflow