class RequestBuilder {
private _data: object | null = null;
private _method: 'get' | 'post' | null = null;
private _url: string | null = null;
// 자기 자신 RequestBuilder객체를 반환하는 setURL함수
public setURL(url: string): this {
this._url = url;
return this;
}
// 자기 자신 RequestBuilder객체를 반환하는 setMethod함수
public setMethod(method: 'get' | 'post'): this {
this._method = method;
return this;
}
// 자기 자신 RequestBuilder객체를 반환하는 setData함수
public setData(data: object): this {
this._data = data;
return this;
}
public send(): void {
console.info('url : ', this._url, 'method : ', this._method, 'data :', this._data);
}
}
let requestHttp = new RequestBuilder()
.setURL('./users')
.setMethod('get')
.setData({firstName: 'Anna'})
.send();