@lagoshny/ngx-hateoas-client
Version:
This client used to develop `Angular 12+` applications working with RESTfulll server API with HAL/JSON response type (supports server implementation by Spring HATEOAS)
126 lines (125 loc) • 5.83 kB
TypeScript
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { BaseResource } from '../../model/resource/base-resource';
import { GetOption, RequestOption } from '../../model/declarations';
import { HttpExecutor } from '../http-executor';
import { ResourceCacheService } from './cache/resource-cache.service';
import { ResourceOption } from '../../config/hateoas-configuration.interface';
import * as i0 from "@angular/core";
/**
* Get instance of the ResourceHttpService by Angular DependencyInjector.
*/
export declare function getResourceHttpService(): ResourceHttpService;
/**
* Service to perform HTTP requests to get {@link Resource} type.
*/
export declare class ResourceHttpService extends HttpExecutor {
constructor(httpClient: HttpClient, cacheService: ResourceCacheService);
/**
* Perform GET request to retrieve resource.
*
* @param url to perform request
* @param options request options
* @throws error when required params are not valid or returned resource type is not resource
*/
get<T extends BaseResource>(url: string, options?: GetOption): Observable<T>;
/**
* Perform POST request.
*
* @param url to perform request
* @param body request body
* @param options request options
* @throws error when required params are not valid
*/
post(url: string, body: any | null, options?: RequestOption): Observable<any>;
/**
* Perform PUT request.
*
* @param url to perform request
* @param body request body
* @param options request options
* @throws error when required params are not valid
*/
put(url: string, body: any | null, options?: RequestOption): Observable<any>;
/**
* Perform PATCH request.
*
* @param url to perform request
* @param body request body
* @param options request options
* @throws error when required params are not valid
*/
patch(url: string, body: any | null, options?: RequestOption): Observable<any>;
/**
* Perform DELETE request.
*
* @param url to perform request
* @param options request options
* @throws error when required params are not valid
*/
delete(url: string, options?: RequestOption): Observable<any>;
/**
* Perform get resource request with url built by the resource name.
*
* @param resourceName used to build root url to the resource
* @param resourceOptions additional resource options {@link ResourceOption}
* @param id resource id
* @param options (optional) options that applied to the request
* @throws error when required params are not valid
*/
getResource<T extends BaseResource>(resourceName: string, resourceOptions: ResourceOption, id: number | string, options?: GetOption): Observable<T>;
/**
* Perform POST resource request with url built by the resource name.
*
* @param resourceName to be post
* @param resourceOptions additional resource options {@link ResourceOption}
* @param body resource to create
* @param options (optional) options that applied to the request
* @throws error when required params are not valid
*/
postResource(resourceName: string, resourceOptions: ResourceOption, body: BaseResource, options?: RequestOption): Observable<any>;
/**
* Perform PATCH resource request with url built by the resource name and resource id.
*
* @param resourceName to be patched
* @param resourceOptions additional resource options {@link ResourceOption}
* @param id resource id
* @param body contains data to patch resource properties
* @param options (optional) options that applied to the request
* @throws error when required params are not valid
*/
patchResource(resourceName: string, resourceOptions: ResourceOption, id: number | string, body: any, options?: RequestOption): Observable<any>;
/**
* Perform PUT resource request with url built by the resource name and resource id.
*
* @param resourceName to be put
* @param resourceOptions additional resource options {@link ResourceOption}
* @param id resource id
* @param body contains data to replace resource properties
* @param options (optional) options that applied to the request
* @throws error when required params are not valid
*/
putResource(resourceName: string, resourceOptions: ResourceOption, id: number | string, body: any, options?: RequestOption): Observable<any>;
/**
* Perform DELETE resource request with url built by the resource name and resource id.
*
* @param resourceName to be deleted
* @param resourceOptions additional resource options {@link ResourceOption}
* @param id resource id
* @param options (optional) additional options that will be applied to the request
* @throws error when required params are not valid
*/
deleteResource(resourceName: string, resourceOptions: ResourceOption, id: number | string, options?: RequestOption): Observable<any>;
/**
* Perform search single resource request with url built by the resource name.
*
* @param resourceName used to build root url to the resource
* @param resourceOptions additional resource options {@link ResourceOption}
* @param searchQuery name of the search method
* @param options (optional) options that applied to the request
* @throws error when required params are not valid
*/
search<T extends BaseResource>(resourceName: string, resourceOptions: ResourceOption, searchQuery: string, options?: GetOption): Observable<T>;
static ɵfac: i0.ɵɵFactoryDeclaration<ResourceHttpService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<ResourceHttpService>;
}