use crate::dto::*;
use crate::web::handler::*;
use utoipa::OpenApi;
#[derive(OpenApi)]
#[openapi(
paths(
get_song,
get_all_songs,
get_album,
get_album_detail,
get_all_albums,
get_all_news,
get_news_detail,
get_font,
search,
search_albums,
search_news,
),
components(schemas(
// 响应类型
SongResp,
AllSongsResp,
AlbumResp,
AlbumDetailResp,
SearchResp,
SearchAlbumResp,
SearchNewsResp,
NewsDetailResp,
FontResp,
// 数据模型
SongData,
AllSongsData,
AllSongsItem,
AlbumData,
AlbumDetailData,
AlbumDetailSongItem,
AllAlbumsItem,
SearchData,
SearchAlbumData,
SearchAlbumItem,
NewsData,
NewsItem,
NewsDetailData,
FontData,
FontItem,
)),
tags(
(name = "search", description = "搜索相关接口"),
(name = "songs", description = "歌曲相关接口"),
(name = "albums", description = "专辑相关接口"),
(name = "news", description = "新闻(动向)相关接口"),
(name = "others", description = "其他接口")
)
)]
struct ApiDoc;
pub fn api_doc() -> utoipa::openapi::OpenApi {
ApiDoc::openapi()
}