adam bien's blog

Sending An OPTIONS Request With Angular 2 📎

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.