Ответ 1
Хороший ответ, предоставленный @langley, но я хотел бы добавить еще несколько пунктов, чтобы опубликовать их как ответ.
Прежде всего, для использования API-интерфейса Restover нам нужны модули Http
и HTTP_PROVIDERS
, которые необходимо импортировать. Поскольку мы говорим о Http, первый шаг явно.
<script src="node_modules/angular2/bundles/http.dev.js"></script>
Но да, это хорошая практика, чтобы обеспечить
HTTP_PROVIDERS
в файле начальной загрузки, поскольку, используя этот способ, он предоставляется на глобальном уровне и доступен для всего проекта вроде этого.
bootstrap(App, [
HTTP_PROVIDERS, some_more_dependencies
]);
а импорт, который будет включен, будет...
import {Http, Response, RequestOptions, Headers, Request, RequestMethod} from 'angular2/http';
Иногда нам нужно предоставить Headers
, потребляя API для отправки access_token
и многое другое, что делается следующим образом:
this.headers = new Headers();
this.headers.append("Content-Type", 'application/json');
this.headers.append("Authorization", 'Bearer ' + localStorage.getItem('id_token'))
Теперь для RequestMethods: в основном мы используем GET, POST, но есть еще несколько параметров, которые вы можете здесь...
Мы можем использовать requestmethods как RequestMethod.method_name
Есть еще несколько вариантов API, но на данный момент я опубликовал один пример запроса POST, который поможет вам с помощью некоторых важных методов:
PostRequest(url,data) {
this.headers = new Headers();
this.headers.append("Content-Type", 'application/json');
this.headers.append("Authorization", 'Bearer ' + localStorage.getItem('id_token'))
this.requestoptions = new RequestOptions({
method: RequestMethod.Post,
url: url,
headers: this.headers,
body: JSON.stringify(data)
})
return this.http.request(new Request(this.requestoptions))
.map((res: Response) => {
if (res) {
return [{ status: res.status, json: res.json() }]
}
});
}
вы можете отсылать сюда для получения дополнительной информации.
см. также -
Update
импорт был изменен с
import {Http, Response, RequestOptions, Headers, Request, RequestMethod} from 'angular2/http';
to
import {Http, Response, RequestOptions, Headers, Request, RequestMethod} from '@angular/http';