11.8.5. Quarkus 함수 반환 값
함수는 허용된 유형 목록에서 모든 유형의 인스턴스를 반환할 수 있습니다. 또는 < T> 유형 매개변수가 허용된 유형의 모든 유형일 수 있는 Uni
< 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
응답이 생성됩니다.
11.8.5.1. 허용된 유형
함수의 입력 및 출력은 void
,String
또는 byte[]
유형 중 하나일 수 있습니다. 또한 기본 유형 및 해당 래퍼(예: int
및 Integer
)일 수 있습니다. 다음과 같은 복잡한 개체일 수도 있습니다. JavaBeans, map, lists, arrays, special CloudEvents<T>
유형.
맵, 목록, 배열, CloudEvents<
> 유형 매개변수 및 Javabeans의 속성은 여기에 나열된 유형만 사용할 수 있습니다.
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); }