我在Azure上托管自己的服务(HTTPS) - 我选择了“我的端点是带有通配符证书的子域”
我正在使用Alexa.NET来制作响应。
我可以验证模拟器是否正在击中我的端点(我进行了远程调试并看到了断点被击中)并且我知道我的端点正在返回(我在Postman中尝试过)
{
"Version": "1.0",
"SessionAttributes": null,
"Response": {
"OutputSpeech": {
"Type": "PlainText",
"Text": "test successful"
},
"Card": null,
"Reprompt": null,
"ShouldEndSession": true,
"Directives": []
}
}
我找不到任何关于响应应该是什么样的文档。我想我可以尝试用lambda函数创建相同的东西......
对于我可以尝试的内容,任何人都有任何建议吗?托管我自己服务的整个过程非常令人沮丧...
答案 0 :(得分:1)
{
"version": "string",
"sessionAttributes": {
"string": "<object>"
},
"response": {
"outputSpeech": {
"type": "string",
"text": "string",
"ssml": "string"
},
"card": {
"type": "string",
"title": "string",
"content": "string",
"text": "string",
"image": {
"smallImageUrl": "string",
"largeImageUrl": "string"
}
},
"reprompt": {
"outputSpeech": {
"type": "string",
"text": "string",
"ssml": "string"
}
},
"directives": [
{
"type": "Display.RenderTemplate",
"template": {
"type": "string"
...
}
},
{
"type": "AudioPlayer",
"playBehavior": "string",
"audioItem": {
"stream": {
"token": "string",
"url": "string",
"offsetInMilliseconds": 0
}
}
},
{
"general": {
"type": "VideoApp.Launch",
"videoItem": {
"source": "string",
"metadata": {
"title": "string",
"subtitle": "string"
}
}
}
}
],
"shouldEndSession": boolean
}
}
答案 1 :(得分:0)
这是因为我的名字以大写字母开头。 Friggin Javascript序列化器......
但是感谢Vijay指向文档的指针。
在.NET mvc中,这就是你如何使属性名称小写:
return JsonConvert.SerializeObject(alexaSkillResponse, new JsonSerializerSettings {
ContractResolver = new CamelCasePropertyNamesContractResolver()
});