[英]Add parameters to the body in a POST request
我在 Node JS 和 Typescript 中有一个项目,我在其中使用tsoa
模块。
功能是通过POST
接收JSON
以创建 URL 并从这些参数中获取信息。
I have created the POST controller that receives a JSON object with the necessary parameters, what I need to know is how do I insert the JSON in the POST request?
这是 controller:
import { Controller, Get, Post, Body, Response, Route, SuccessResponse, Tags } from 'tsoa';
@Route('/api/test')
interface genericData {
[key: string]: any;
}
interface DataTest extends genericData {
dataTest: string,
insTest: string,
serTest: string
}
export class TestApiController extends Controller {
@Post("/ins")
@SuccessResponse(200, 'Success')
async testFilter(@Body() insKeys: DataTest): Promise<string> {
try {
console.log(JSON.stringify(insKeys))
return Promise.resolve('test');
} catch (error) {
return Promise.reject(error);
}
}
}
这是我试图传递给它的 JSON object 的示例:
let data: DataTest = {
"dataTest": "data1,data2,data3",
"insTest": "ins1,ins2,ins3",
"serTest": "ser1,ser2,ser3"
}
与 model 作为...
model.ts
interface GenericData {
[key: string]: any;
}
export interface DataTest extends GenericData {
dataTest: string;
insTest: string;
serTest: string;
}
和 controller 作为...
controller.ts
import { Controller, Post, Body, Route, SuccessResponse } from 'tsoa';
import { DataTest } from './model';
@Route('/api/test')
export class TestApiController extends Controller {
@Post("/ins")
@SuccessResponse(200, 'Success')
async testFilter(@Body() insKeys: DataTest): Promise<string> {
try {
console.log(JSON.stringify(insKeys))
return Promise.resolve('test');
} catch (error) {
return Promise.reject(error);
}
}
}
以下请求对我来说成功......
fetch('/api/test/ins', {
method: "POST",
body: JSON.stringify({
"dataTest": "data1,data2,data3",
"insTest": "ins1,ins2,ins3",
"serTest": "ser1,ser2,ser3"
}),
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
});
控制台日志写成...
{"dataTest":"data1,data2,data3","insTest":"ins1,ins2,ins3","serTest":"ser1,ser2,ser3"}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.