我们使用swashbuckle生成客户端代码,其中我们仅需要模型类类型,而不需要生成用于调用api的方法。为此,我们有自己的通用实现。有没有一种方法可以仅在不省略模型类的情况下忽略这些方法?
当我在所有控制器上使用[ApiExplorerSettings(IgnoreApi = true)]
时,我的输出js文件为空。
例如,它生成了这些方法,这些方法对我们完全没有用,仅我需要的是Metadata
类类型,没有别的。
apiGet(): Promise<Metadata> {
let url_ = this.baseUrl + "/api/MetadataRepository/Catalog";
url_ = url_.replace(/[?&]$/, "");
let options_ = <RequestInit>{
method: "GET",
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
}
};
return this.http.fetch(url_, options_).then((_response: Response) => {
return this.processApiGet(_response);
});
}
protected processApiGet(response: Response): Promise<Metadata> {
const status = response.status;
let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
if (status === 200) {
return response.text().then((_responseText) => {
let result200: any = null;
let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
result200 = resultData200 ? Metadata.fromJS(resultData200) : new Metadata();
return result200;
});
} else if (status !== 200 && status !== 204) {
return response.text().then((_responseText) => {
return throwException("An unexpected server error occurred.", status, _responseText, _headers);
});
}
return Promise.resolve<Metadata>(<any>null);
}