为了账号安全,请及时绑定邮箱和手机立即绑定

如何将服务连接到 Cloud Foundry 应用程序?

如何将服务连接到 Cloud Foundry 应用程序?

慕哥9229398 2023-07-06 18:24:12
我是 IBM 云的新手,我正在尝试构建一个应用程序,我可以在其中编写文本,按下按钮,然后由返回 JSON 的服务音分析器分析该文本,以便我可以显示它。我创建了该服务的一个实例,并使用服务上的“连接”选项卡将其连接到我的应用程序(工具链)。我的应用程序的 app.js 文件中也有此代码:const ToneAnalyzerV3 = require('ibm-watson/tone-analyzer/v3');const { IamAuthenticator } = require('ibm-watson/auth');const toneAnalyzer = new ToneAnalyzerV3({  version: '2019-10-10',  authenticator: new IamAuthenticator({    apikey: [API key found in service credentials],  }),  url: [API url found in service credentials],});app.get('/', function(req, res) {  res.render('index');});app.post('/api/tone', async function(req, res, next) {  try {    const { result } = await toneAnalyzer.tone(req.body);    res.json(result);  } catch (error) {    next(error);  }});问题是,当我在 javascript 上进行以下调用时:$.post( "/api/tone", {text: textInput}, function(data){        console.log(data);    });我收到错误:500(内部服务器错误)。有人知道我做错了什么吗?
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

问题是您发送的内容req.body是要进行语气分析的。如果您查看 API 文档 - https://cloud.ibm.com/apidocs/tone-analyzer?code=node#tone - 您会发现您只需要发送


const toneParams = {

  toneInput: { 'text': text },

  contentType: 'application/json',

};

我非常怀疑它是否req.body有一个toneInput字段,如果它确实有contentType它可能不会被设置为允许的值之一。


查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信