1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dog-ts-restful

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
swagger.md 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 05:14 d2c494c

Swagger 文档


Регистрация маршрута с предоставлением необязательного параметра swagger=true, запуск документа

registerControllerToRouter(router, { isShowUrls: true, kebabCase: true, group: group, swagger: true });

Часто используемые метки документа

  • @Api(summary="", description="") — пользовательское описание информации об отдельном маршруте, например getUser(ctx: any);
@Restful
export class OtherController extends AbstractController {

    $isValidId(id: string) {
        return /^\d+$/.test(id);
    }

    @Api("Получение информации о пользователе", "Получение информации об одном пользователе по его ID")
    @ResponseBody()
    @RequestMapping('/user')
    getUser(ctx: any) { 
        return {}
    }
}
  • @SwaggerProperty — определение свойств модели возвращаемых данных.
export class Test3 { 
    @SwaggerProperty({type: 'integer', description: "Поле a"})
    public a = 1;
    @SwaggerProperty()
    public b = '2';
    
    constructor(public y = 1, public z = 2) { 
        this.a = 1;
        this.b = '2';
    }
}

Другие соглашения


  • поля title, description и version в swagger версии по умолчанию считываются из package.json в папке process.cwd();
let pkg: any = {};
try {
    pkg = require(path.join(process.cwd(), 'package.json'));
} catch (err) { 
    console.warn(process.cwd() + "каталог не содержит package.json, невозможно загрузить информацию о version,description,name в swagger");
}
import 'reflect-metadata';

export const swagger: ISwagger = {
    swagger: "2.0",
    info: {
        title: pkg.name,
        description: pkg.description,
        version: pkg.version,
    }
};
  • swagger монтируется по пути /swagger, возвращает информацию в формате json, можно использовать плагин chrome swagger для предварительного просмотра.

TODO

  • входные параметры не отображаются;
  • отображаются только те выходные параметры, которые имеют атрибут @SwaggerProperty.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dog-ts-restful.git
git@api.gitlife.ru:oschina-mirror/dog-ts-restful.git
oschina-mirror
dog-ts-restful
dog-ts-restful
master