The Angular 2 Http class does not offer an OPTIONS
convenience method
out-of-the box. Interestingly, all the major HTTP methods are supported: GET
, POST
, PUT
, delete
, patch
and head
,
but the OPTIONS was not implemented. To perform an e.g. POST request, you can use the built-in method:
import { Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
export default class XYZService{
constructor(private http:Http){}
performPost(uri,payload):Promise<Workshop[]>{
return this.http.post(uri,payload).
toPromise().
then(r => r.json()).
catch(this.handleError);
}
handleError(error){
return Promise.reject(error.messages || error);
}
//(...)
For the initiation of an OPTIONS request you will have to rely on the generic request method of the same
Http class:
options(uri):Promise{
return this.http.request(uri,{method:'OPTIONS'}).
toPromise().
then(r => r.json()).
catch(this.handleError);
}
See you at Java EE Workshops at Munich Airport, Terminal 2 and particularly at Building Angular 2 Applications or
Building React Applications.