4.5. Quarkus 함수 반환 값
함수는 허용된 유형 목록에서 모든 유형의 인스턴스를 반환할 수 있습니다. 또는 Uni<T
> 유형을 반환할 수 있습니다. 여기서 < T
> 유형 매개변수는 허용된 유형의 모든 유형일 수 있습니다.
Uni<T>
유형은 반환된 오브젝트가 수신된 오브젝트와 동일한 형식으로 직렬화되기 때문에 함수가 비동기 API를 호출할 때 유용합니다. 예를 들면 다음과 같습니다.
- 함수가 HTTP 요청을 수신하면 반환된 오브젝트가 HTTP 응답 본문에 전송됩니다.
-
함수가 바이너리 인코딩으로
CloudEvent
오브젝트를 수신하는 경우 반환된 오브젝트는 바이너리 인코딩CloudEvent
오브젝트의 데이터 속성으로 전송됩니다.
다음 예제에서는 구매 목록을 가져오는 함수를 보여줍니다.
명령 예
public class Functions { @Funq public List<Purchase> getPurchasesByName(String name) { // logic to retrieve purchases } }
- HTTP 요청을 통해 이 함수를 호출하면 응답 본문에서 구매한 목록을 포함하는 HTTP 응답이 생성됩니다.
-
들어오는
CloudEvent
오브젝트를 통해 이 함수를 호출하면data
속성에서 구매 목록이 포함된CloudEvent
응답이 생성됩니다.
4.5.1. 허용된 유형
함수의 입력 및 출력은 빈
,문자열
또는 byte[]
유형 중 하나일 수 있습니다. 또한 기본 유형과 래퍼(예: int
및 Integer
)일 수 있습니다. 또한 Javaovns, 맵, 목록, 배열 및 특수 CloudEvents<T
> 유형 등 복잡한 오브젝트일 수도 있습니다.
map, lists, arrays, < T
> type 매개 변수 of the CloudEvents<T
> 유형의 CloudEvents<T> 및 JavaECDHEs의 속성은 여기에 나열된 유형일 수 있습니다.
예제
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); }