bpframework-cli
Version:
cli of bpframework
70 lines (61 loc) • 1.59 kB
text/typescript
;
/**
* Copyright (c) 2020 Copyright bp All Rights Reserved.
*/
import * as koa from 'koa';
import {
Autowired,
PathVariable,
RequestBody,
RequestMapping,
RequestMethod,
RequestParam,
RestController,
RestObject,
RestObjectTypeRest,
} from 'bpframework';
import { DemoBean, DemoBodyBean } from './DemoBean';
import { DemoFeignClient } from '@/feignclients/DemoFeignClient';
import { IDemoService } from '@/services/IDemoService';
()
class DemoController {
// Autowired.
('DemoService')
private demoService: IDemoService;
// Autowired.
(DemoFeignClient)
private demoFeignClient: DemoFeignClient;
/**
* 对/api的请求.
*/
({ path: '/api/{a}/{b}', method: RequestMethod.POST })
async request(
({ name: 'a', required: true }) a: string,
({ name: 'b', required: false }) b: string,
({ name: 'b', required: false, castType: Number }) c: number,
body: string,
obj: RestObjectTypeRest<koa.Context> // or RestObjectType
): Promise<DemoBean> {
await this.demoFeignClient.request('xx');
console.log(a, b, c, body, obj);
let ret = new DemoBean();
ret.a = Number(a);
ret.b = b;
return ret;
}
/**
* post请求.
*/
({
path: '/api/test',
method: RequestMethod.POST,
})
async testPost(
({ required: true, castType: DemoBodyBean }) data: DemoBodyBean
): Promise<any> {
// data.pt.a
return {
ok: true,
};
}
}