如何解决在环回 4 中调用 API
我是环回 4 的新手。 我在文件 hello.controller.ts 中编写了一个 API,如下所示:
export class HelloController {
constructor(
@repository(StationMRepository)
protected stationMRepository: StationMRepository) {}
@post('/stationDetails')
async stationDetails(@requestBody({
content: {
'application/json': {
schema: {type: 'object'},},}) data: {
searchkeyvaluePair:
{
miscellaneous: string,//relevantRollingStock: string,}): Promise<any> {
console.log("Req.body:",data)
var miscellaneous: string = data.searchkeyvaluePair.miscellaneous.trim()
miscellaneous = miscellaneous.toLowerCase();
var result: any = ''
var resultLength: number = 0
var stationData: string = ''
var miscellaneousValid: boolean = !(miscellaneous == '' || miscellaneous == null || miscellaneous == undefined)
if (miscellaneousValid) {
stationData = `select public.stn_fullname_tsv_fn('${miscellaneous}')`
}
/*Calling tsvector Function*/
result = await this.MetadataLettersRepository.execute(stationData)
//console.log(result)
/*To make the format of the data same for ts_vector and non ts_vector case*/
resultLength = result.length
//var resultModified: Array<any> = []
var resultModifiednew: Array<any> = []
if (resultLength > 0) {
for (var i = 0; i < resultLength; i++) {
// resultModified.push(result[i].letters_flex_search_tsvector)
//Mapping from db format to Model format
var objFormat: any = {}
objFormat.stnCode = result[i].stn_fullname_tsv_fn.stn_code.trim()
objFormat.stnFullname = result[i].stn_fullname_tsv_fn.stn_fullname.trim()
objFormat.divCode = result[i].stn_fullname_tsv_fn.stn_divcode.trim()
objFormat.divFullname = result[i].stn_fullname_tsv_fn.div_fullname.trim()
objFormat.zoneCode = result[i].stn_fullname_tsv_fn.stn_zonecode.trim()
objFormat.zoneFullname = result[i].stn_fullname_tsv_fn.zone_fullname.trim()
console.log(objFormat)
resultModifiednew.push(objFormat)
}
}
console.log('ResultModified: ',resultModifiednew)
console.log('ResultModified length:',resultModifiednew.length)
return (resultModifiednew)
}
}
我需要在 app.test.js 中调用这个 API 进行测试。代码如下:
it("Provides Station Details",() => {
var stn = { data: { searchkeyvaluePair: { miscellaneous: "LKO" } } }
const result = stationDetails(stn) //erroneous line
console.log('Result: ',result)
expect(result).to.have.status(200);
console.log('Tested successfully..!!!')
});
它给了我以下错误: 参考错误:stationDetails 未定义
请指导我应该用什么替换错误代码,以便正确调用 API。 提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。