chatbot output type 지정

Kang JaeHyeon·2024년 6월 25일

Output.java

public class Output {
    private SimpleText simpleText;
    private Carousel carousel;

    public SimpleText getSimpleText() {
        return simpleText;
    }
    public void setSimpleText(SimpleText simpleText) {
        this.simpleText = simpleText;
    }
	public Carousel getCarousel() {
		return carousel;
	}
	public void setCarousel(Carousel carousel) {
		this.carousel = carousel;
	}
    
}

위와 같은 형식으로 response를 리턴하였는데 오류가 발생했다.
simpleText와 carousel이 같은 output 안에 포함되어 있으면 유효하지 않은 응답값이라고 나온다.

Template.java

public class Template {
    private List<Output> outputs;

    public List<Output> getOutputs() {
        return outputs;
    }

    public void setOutputs(List<Output> outputs) {
        this.outputs = outputs;
    }
}

template 안에 Output 리스트를 set 해야한다.

OutputText.java

public class OutputText extends Output{
	private SimpleText simpleText;

	public SimpleText getSimpleText() {
		return simpleText;
	}
	public void setSimpleText(SimpleText simpleText) {
		this.simpleText = simpleText;
	}
}

OutputBasicCard.java

public class OutputBasicCard extends Output{

	private Carousel carousel;

	public Carousel getCarousel() {
		return carousel;
	}
	public void setCarousel(Carousel carousel) {
		this.carousel = carousel;
	}
}

위와 같이 Output 클래스를 상속받아 하나의 setOutputs함수로 다양한 형태의 output을 받을 수 있게 하였다.


simpleText output response

basicCard output response

다양한 형태의 아웃풋을 반환할 수 있게 되었다.

0개의 댓글