Menu Close
10.7.5. Quarkus 功能返回值
功能可以返回以下实例:
- 允许类型列表中的任何类型。
-
Uni<T>
类型,其中<T>
类型参数可以是允许的类型的任何类型。
如果函数调用异步 API,因为返回的对象以与接收对象相同的格式序列化,Uni<T>
类型很有用。例如:
- 如果函数收到 HTTP 请求,则返回的对象将在 HTTP 响应的正文中发送。
-
如果函数通过二进制编码收到
CloudEvent
对象,则返回的对象将在二进制编码的CloudEvent
对象的 data 属性中发送。
以下示例显示了获取购买列表的功能:
示例命令
public class Functions { @Funq public List<Purchase> getPurchasesByName(String name) { // logic to retrieve purchases } }
- 通过 HTTP 请求调用此功能将生成 HTTP 响应,其中包含响应正文中的订购列表。
-
通过传入的
CloudEvent
对象调用此功能可生成CloudEvent
响应,并在data
属性中包括一个订购列表。
10.7.5.1. 允许的类型
功能的输入和输出类型可以是以下任意一种:
-
void
-
字符串
-
byte[]
-
原语类型及其打包程序(如
int
和Integer
)。 - JavaBean,如果其属性是此处列出的类型:
- 此列表中的类型映射、列表或数组。
-
特殊的
CloudEvents<T>
类型,其中<T>
类型参数是此列表中的类型。
示例
public class Functions { public List<Integer> getIds(); public Purchase[] getPurchasesByName(String name); public String getNameById(int id); public Map<String,Integer> getNameIdMapping(); public void processImage(byte[] img); }