[英]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.