Я создал клиентский скрипт Angular2 с редактором Swagger, расположенный по адресу http://editor.swagger.io. API отлично работает со всеми конечными точками api, которые не относятся к типу POST
, хотя конечные точки POST никогда не отправляются на сервер.Редактор swagger, создающий машинописный клиент, который не будет POST
Достигнут следующий метод в сгенерированном машинописном тексте, а оператор console.log
показывает, что заголовки устанавливаются, хотя на самом деле ничего не отправляется на сервер.
Это говорит о том, что что-то не так с звонком this.http.request
.
public snapshotsFoo (data: Array<number>, extraHttpRequestParams?: any) : Observable<models.Snapshot> {
const path = this.basePath + '/Snapshots/foo';
let queryParameters = new URLSearchParams();
let headerParams = this.defaultHeaders;
headerParams.set("Content-Type", "application/json");
// verify required parameter 'data' is not null or undefined
if (data === null || data === undefined) {
throw new Error('Required parameter data was null or undefined when calling snapshotsFoo.');
}
let requestOptions: RequestOptionsArgs = {
method: 'POST',
headers: headerParams,
search: queryParameters
};
requestOptions.body = JSON.stringify(data);
console.log('I am in foo', path, requestOptions);
return this.http.request(path, requestOptions)
.map((response: Response) => {
if (response.status === 204) {
return undefined;
} else {
return response.json();
}
});
}
Я могу успешно использовать конечную точку с чванством Ui (http://0.0.0.0:5000/api/ui), от почтальона и из командной строки с $ curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '[7,7,8]' 'http://0.0.0.0:5000/api/Snapshots/foo'
Хотя, когда я пытаюсь достичь этой конечной точки, используя сгенерированную машинопись, ничего отправляется на сервер и не возникает ошибок.
editor.swagger.io использует генератор.swagger.io для создания клиентов API, заглушек сервера. Пожалуйста, откройте проблему в https://github.com/swagger-api/swagger-codegen (который охватывает онлайн-генератор на generator.swagger.io) –