2017-05-18 58 views
0

我想通過https(我嘗試了兩種方法)開發Spring Boot和Spring MVC框架的小型Alexa技能。 但是,當我試圖在pom.xml中添加alexa-skill-kit maven dependency時。我有很多種不同的錯誤。 像'servlet.init()錯誤','無法創建子容器'等 似乎最新版本的Alexa Java SDK與我的彈簧設置有一些衝突... 是否有任何人用spring成功創建amazon alexa? 還是在github中共享'Hello world'示例項目? 謝謝。Spring MVC或Spring Boot可以與Amazon Alexa一起工作嗎?

回答

1

我已經開發成功使用spring boot的alexa技巧。這是來自我的pom.xml的依賴定義。

<dependency> 
    <groupId>com.amazon.alexa</groupId> 
    <artifactId>alexa-skills-kit</artifactId> 
    <version>1.3.1</version> 
    <exclusions> 
     <exclusion> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-server</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

希望能清除你的問題。

而且使用的SDK消息對象,你可以在你的休息控制器添加Bean

@Bean 
Module speechletRequestModule() { 
    return new SpeechletRequestModule(); 
} 

,然後請求映射爲簡單

@RequestMapping(value = "skills/myskill", method = RequestMethod.POST) 
public SpeechletResponseEnvelope handle(@RequestBody final SpeechletRequestEnvelope speechletRequestEnvelope) {} 
+0

謝謝!我發現用Flask-Ask開發Python更容易。 Alexa Java SDK有許多重複的導入。你還用@configration配置了speechletservlet嗎? –

+0

我實際上並沒有使用他們提供的servlet,而是使用spring控制器,而不是使用請求/響應體返回他們在sdk中提供的傑克遜映射對象。我還使用了他們的signature/timestamp/etc驗證器,這些驗證器只是掛在spring @ControllerAdvice配置文件中,而不是。另外,通過沿着這條路線,我可以很輕鬆地將谷歌端點添加到同一個應用程序中,並以最少的工作支持兩個平臺。 –

+0

@StephenGarlick你可以分享一些示例應用程序。我也試圖做同樣的一週,但它不工作 –

相關問題