├── .DS_Store ├── .editorconfig ├── .gitattributes ├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── angular2-rest.d.ts ├── angular2-rest.js ├── angular2-rest.js.map ├── angular2-rest.ts ├── docs ├── assets │ ├── css │ │ ├── main.css │ │ └── main.css.map │ ├── images │ │ ├── icons.png │ │ ├── icons@2x.png │ │ ├── widgets.png │ │ └── widgets@2x.png │ └── js │ │ ├── main.js │ │ ├── modernizr.js │ │ └── search.js ├── classes │ └── _angular2_rest_.restclient.html ├── enums │ └── _angular2_rest_.mediatype.html ├── globals.html ├── index.html └── modules │ └── _angular2_rest_.html ├── gulpfile.js ├── package.json ├── tsconfig.json └── tslint.json /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paldom/angular2-rest/a6b6a12d2c486257c5f181cf815d4e3065e6ce6f/.DS_Store -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # node-waf configuration 20 | .lock-wscript 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 27 | node_modules 28 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # node-waf configuration 20 | .lock-wscript 21 | 22 | # Compiled binary addons (http://nodejs.org/api/addons.html) 23 | build/Release 24 | 25 | # Dependency directory 26 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 27 | node_modules 28 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.12" 4 | before_script: 5 | - npm install -g gulp 6 | script: gulp -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Domonkos Pal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # angular2-rest 2 | Angular2 HTTP client to consume RESTful services. Built on angular2/http with TypeScript. 3 | **Note:** this solutions is not production ready, it's in a very basic alpha state. Any ideas or contributions are very welcomed :) 4 | 5 | ## Installation 6 | 7 | ```sh 8 | npm install angular2-rest 9 | ``` 10 | 11 | ## Example 12 | 13 | ```ts 14 | 15 | import {Request, Response} from 'angular2/http'; 16 | import {RESTClient, GET, PUT, POST, DELETE, BaseUrl, Headers, DefaultHeaders, Path, Body, Query} from 'angular2-rest'; 17 | 18 | import {Todo} from './models/Todo'; 19 | import {SessionFactory} from './sessionFactory'; 20 | 21 | @Injectable() 22 | @BaseUrl("http://localhost:3000/api/") 23 | @DefaultHeaders({ 24 | 'Accept': 'application/json', 25 | 'Content-Type': 'application/json' 26 | }) 27 | export class TodoRESTClient extends RESTClient { 28 | 29 | protected requestInterceptor(req: Request) { 30 | if (SessionFactory.getInstance().isAuthenticated) { 31 | req.headers.append('jwt', SessionFactory.getInstance().credentials.jwt); 32 | } 33 | } 34 | 35 | protected requestInterceptor(req: Response) { 36 | // do sg with responses 37 | } 38 | 39 | @GET("todo/") 40 | public getTodos( @Query("sort") sort?: string): Observable { return null; }; 41 | 42 | @GET("todo/{id}") 43 | public getTodoById( @Path("id") id: string): Observable { return null; }; 44 | 45 | @POST("todo") 46 | public postTodo( @Body todo: Todo): Observable { return null; }; 47 | 48 | @PUT("todo/{id}") 49 | public putTodoById( @Path("id") id: string, @Body todo: Todo): Observable { return null; }; 50 | 51 | @DELETE("todo/{id}") 52 | public deleteTodoById( @Path("id") id: string): Observable { return null; }; 53 | 54 | } 55 | ``` 56 | 57 | ### Using it in your component 58 | 59 | 60 | ``` ts 61 | @Component({ 62 | selector: 'to-do', 63 | viewProviders: [TodoRESTClient], 64 | }) 65 | @View({ 66 | templateUrl: 'components/to-do-template.html', 67 | }) 68 | export class ToDoCmp { 69 | 70 | constructor(todoRESTClient: TodoRESTClient) { 71 | } 72 | 73 | //Use todoRESTClient 74 | } 75 | ``` 76 | ## API Docs 77 | 78 | ### RESTClient 79 | #### Methods: 80 | - `getBaseUrl(): string`: returns the base url of RESTClient 81 | - `getDefaultHeaders(): Object`: returns the default headers of RESTClient in a key-value pair 82 | 83 | ### Class decorators: 84 | - `@BaseUrl(url: string)` 85 | - `@DefaultHeaders(headers: Object)` 86 | 87 | ### Method decorators: 88 | - `@GET(url: String)` 89 | - `@POST(url: String)` 90 | - `@PUT(url: String)` 91 | - `@DELETE(url: String)` 92 | - `@Headers(headers: Object)` 93 | 94 | ### Parameter decorators: 95 | - `@Path(key: string)` 96 | - `@Query(key: string)` 97 | - `@Header(key: string)` 98 | - `@Body` 99 | 100 | # License 101 | 102 | MIT 103 | -------------------------------------------------------------------------------- /angular2-rest.d.ts: -------------------------------------------------------------------------------- 1 | import { Http, Request } from "angular2/http"; 2 | import { Observable } from "rxjs/Observable"; 3 | /** 4 | * Angular 2 RESTClient class. 5 | * 6 | * @class RESTClient 7 | * @constructor 8 | */ 9 | export declare class RESTClient { 10 | protected http: Http; 11 | constructor(http: Http); 12 | protected getBaseUrl(): string; 13 | protected getDefaultHeaders(): Object; 14 | /** 15 | * Request Interceptor 16 | * 17 | * @method requestInterceptor 18 | * @param {Request} req - request object 19 | */ 20 | protected requestInterceptor(req: Request): void; 21 | /** 22 | * Response Interceptor 23 | * 24 | * @method responseInterceptor 25 | * @param {Response} res - response object 26 | * @returns {Response} res - transformed response object 27 | */ 28 | protected responseInterceptor(res: Observable): Observable; 29 | } 30 | /** 31 | * Set the base URL of REST resource 32 | * @param {String} url - base URL 33 | */ 34 | export declare function BaseUrl(url: string): (Target: TFunction) => TFunction; 35 | /** 36 | * Set default headers for every method of the RESTClient 37 | * @param {Object} headers - deafult headers in a key-value pair 38 | */ 39 | export declare function DefaultHeaders(headers: any): (Target: TFunction) => TFunction; 40 | /** 41 | * Path variable of a method's url, type: string 42 | * @param {string} key - path key to bind value 43 | */ 44 | export declare var Path: (key: string) => (target: RESTClient, propertyKey: string | symbol, parameterIndex: number) => void; 45 | /** 46 | * Query value of a method's url, type: string 47 | * @param {string} key - query key to bind value 48 | */ 49 | export declare var Query: (key: string) => (target: RESTClient, propertyKey: string | symbol, parameterIndex: number) => void; 50 | /** 51 | * Body of a REST method, type: key-value pair object 52 | * Only one body per method! 53 | */ 54 | export declare var Body: (target: RESTClient, propertyKey: string | symbol, parameterIndex: number) => void; 55 | /** 56 | * Custom header of a REST method, type: string 57 | * @param {string} key - header key to bind value 58 | */ 59 | export declare var Header: (key: string) => (target: RESTClient, propertyKey: string | symbol, parameterIndex: number) => void; 60 | /** 61 | * Set custom headers for a REST method 62 | * @param {Object} headersDef - custom headers in a key-value pair 63 | */ 64 | export declare function Headers(headersDef: any): (target: RESTClient, propertyKey: string, descriptor: any) => any; 65 | /** 66 | * Defines the media type(s) that the methods can produce 67 | * @param MediaType producesDef - mediaType to be parsed 68 | */ 69 | export declare function Produces(producesDef: MediaType): (target: RESTClient, propertyKey: string, descriptor: any) => any; 70 | /** 71 | * Supported @Produces media types 72 | */ 73 | export declare enum MediaType { 74 | JSON = 0, 75 | } 76 | /** 77 | * GET method 78 | * @param {string} url - resource url of the method 79 | */ 80 | export declare var GET: (url: string) => (target: RESTClient, propertyKey: string, descriptor: any) => any; 81 | /** 82 | * POST method 83 | * @param {string} url - resource url of the method 84 | */ 85 | export declare var POST: (url: string) => (target: RESTClient, propertyKey: string, descriptor: any) => any; 86 | /** 87 | * PUT method 88 | * @param {string} url - resource url of the method 89 | */ 90 | export declare var PUT: (url: string) => (target: RESTClient, propertyKey: string, descriptor: any) => any; 91 | /** 92 | * DELETE method 93 | * @param {string} url - resource url of the method 94 | */ 95 | export declare var DELETE: (url: string) => (target: RESTClient, propertyKey: string, descriptor: any) => any; 96 | /** 97 | * HEAD method 98 | * @param {string} url - resource url of the method 99 | */ 100 | export declare var HEAD: (url: string) => (target: RESTClient, propertyKey: string, descriptor: any) => any; 101 | -------------------------------------------------------------------------------- /angular2-rest.js: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { 5 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 6 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 7 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 8 | return c > 3 && r && Object.defineProperty(target, key, r), r; 9 | }; 10 | var __metadata = (this && this.__metadata) || function (k, v) { 11 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); 12 | }; 13 | var __param = (this && this.__param) || function (paramIndex, decorator) { 14 | return function (target, key) { decorator(target, key, paramIndex); } 15 | }; 16 | /* 17 | 18 | angular2-rest 19 | (c) Domonkos Pal 20 | License: MIT 21 | 22 | Table of Contents: 23 | 24 | - class RESTClient 25 | 26 | - Class Decorators: 27 | @BaseUrl(String) 28 | @DefaultHeaders(Object) 29 | 30 | - Method Decorators: 31 | @GET(url: String) 32 | @POST(url: String) 33 | @PUT(url: String) 34 | @DELETE(url: String) 35 | @Headers(object) 36 | @Produces(MediaType) 37 | 38 | - Parameter Decorators: 39 | @Path(string) 40 | @Query(string) 41 | @Header(string) 42 | @Body 43 | */ 44 | var core_1 = require("angular2/core"); 45 | var http_1 = require("angular2/http"); 46 | /** 47 | * Angular 2 RESTClient class. 48 | * 49 | * @class RESTClient 50 | * @constructor 51 | */ 52 | var RESTClient = (function () { 53 | function RESTClient(http) { 54 | this.http = http; 55 | } 56 | RESTClient.prototype.getBaseUrl = function () { 57 | return null; 58 | }; 59 | ; 60 | RESTClient.prototype.getDefaultHeaders = function () { 61 | return null; 62 | }; 63 | ; 64 | /** 65 | * Request Interceptor 66 | * 67 | * @method requestInterceptor 68 | * @param {Request} req - request object 69 | */ 70 | RESTClient.prototype.requestInterceptor = function (req) { 71 | // 72 | }; 73 | /** 74 | * Response Interceptor 75 | * 76 | * @method responseInterceptor 77 | * @param {Response} res - response object 78 | * @returns {Response} res - transformed response object 79 | */ 80 | RESTClient.prototype.responseInterceptor = function (res) { 81 | return res; 82 | }; 83 | RESTClient = __decorate([ 84 | __param(0, core_1.Inject(http_1.Http)), 85 | __metadata('design:paramtypes', [http_1.Http]) 86 | ], RESTClient); 87 | return RESTClient; 88 | })(); 89 | exports.RESTClient = RESTClient; 90 | /** 91 | * Set the base URL of REST resource 92 | * @param {String} url - base URL 93 | */ 94 | function BaseUrl(url) { 95 | return function (Target) { 96 | Target.prototype.getBaseUrl = function () { 97 | return url; 98 | }; 99 | return Target; 100 | }; 101 | } 102 | exports.BaseUrl = BaseUrl; 103 | /** 104 | * Set default headers for every method of the RESTClient 105 | * @param {Object} headers - deafult headers in a key-value pair 106 | */ 107 | function DefaultHeaders(headers) { 108 | return function (Target) { 109 | Target.prototype.getDefaultHeaders = function () { 110 | return headers; 111 | }; 112 | return Target; 113 | }; 114 | } 115 | exports.DefaultHeaders = DefaultHeaders; 116 | function paramBuilder(paramName) { 117 | return function (key) { 118 | return function (target, propertyKey, parameterIndex) { 119 | var metadataKey = propertyKey + "_" + paramName + "_parameters"; 120 | var paramObj = { 121 | key: key, 122 | parameterIndex: parameterIndex 123 | }; 124 | if (Array.isArray(target[metadataKey])) { 125 | target[metadataKey].push(paramObj); 126 | } 127 | else { 128 | target[metadataKey] = [paramObj]; 129 | } 130 | }; 131 | }; 132 | } 133 | /** 134 | * Path variable of a method's url, type: string 135 | * @param {string} key - path key to bind value 136 | */ 137 | exports.Path = paramBuilder("Path"); 138 | /** 139 | * Query value of a method's url, type: string 140 | * @param {string} key - query key to bind value 141 | */ 142 | exports.Query = paramBuilder("Query"); 143 | /** 144 | * Body of a REST method, type: key-value pair object 145 | * Only one body per method! 146 | */ 147 | exports.Body = paramBuilder("Body")("Body"); 148 | /** 149 | * Custom header of a REST method, type: string 150 | * @param {string} key - header key to bind value 151 | */ 152 | exports.Header = paramBuilder("Header"); 153 | /** 154 | * Set custom headers for a REST method 155 | * @param {Object} headersDef - custom headers in a key-value pair 156 | */ 157 | function Headers(headersDef) { 158 | return function (target, propertyKey, descriptor) { 159 | descriptor.headers = headersDef; 160 | return descriptor; 161 | }; 162 | } 163 | exports.Headers = Headers; 164 | /** 165 | * Defines the media type(s) that the methods can produce 166 | * @param MediaType producesDef - mediaType to be parsed 167 | */ 168 | function Produces(producesDef) { 169 | return function (target, propertyKey, descriptor) { 170 | descriptor.isJSON = producesDef === MediaType.JSON; 171 | return descriptor; 172 | }; 173 | } 174 | exports.Produces = Produces; 175 | /** 176 | * Supported @Produces media types 177 | */ 178 | (function (MediaType) { 179 | MediaType[MediaType["JSON"] = 0] = "JSON"; 180 | })(exports.MediaType || (exports.MediaType = {})); 181 | var MediaType = exports.MediaType; 182 | function methodBuilder(method) { 183 | return function (url) { 184 | return function (target, propertyKey, descriptor) { 185 | var pPath = target[(propertyKey + "_Path_parameters")]; 186 | var pQuery = target[(propertyKey + "_Query_parameters")]; 187 | var pBody = target[(propertyKey + "_Body_parameters")]; 188 | var pHeader = target[(propertyKey + "_Header_parameters")]; 189 | descriptor.value = function () { 190 | var args = []; 191 | for (var _i = 0; _i < arguments.length; _i++) { 192 | args[_i - 0] = arguments[_i]; 193 | } 194 | // Body 195 | var body = null; 196 | if (pBody) { 197 | body = JSON.stringify(args[pBody[0].parameterIndex]); 198 | } 199 | // Path 200 | var resUrl = url; 201 | if (pPath) { 202 | for (var k in pPath) { 203 | if (pPath.hasOwnProperty(k)) { 204 | resUrl = resUrl.replace("{" + pPath[k].key + "}", args[pPath[k].parameterIndex]); 205 | } 206 | } 207 | } 208 | // Query 209 | var search = new http_1.URLSearchParams(); 210 | if (pQuery) { 211 | pQuery 212 | .filter(function (p) { return args[p.parameterIndex]; }) // filter out optional parameters 213 | .forEach(function (p) { 214 | var key = p.key; 215 | var value = args[p.parameterIndex]; 216 | // if the value is a instance of Object, we stringify it 217 | if (value instanceof Object) { 218 | value = JSON.stringify(value); 219 | } 220 | search.set(encodeURIComponent(key), encodeURIComponent(value)); 221 | }); 222 | } 223 | // Headers 224 | // set class default headers 225 | var headers = new http_1.Headers(this.getDefaultHeaders()); 226 | // set method specific headers 227 | for (var k in descriptor.headers) { 228 | if (descriptor.headers.hasOwnProperty(k)) { 229 | headers.append(k, descriptor.headers[k]); 230 | } 231 | } 232 | // set parameter specific headers 233 | if (pHeader) { 234 | for (var k in pHeader) { 235 | if (pHeader.hasOwnProperty(k)) { 236 | headers.append(pHeader[k].key, args[pHeader[k].parameterIndex]); 237 | } 238 | } 239 | } 240 | // Request options 241 | var options = new http_1.RequestOptions({ 242 | method: method, 243 | url: this.getBaseUrl() + resUrl, 244 | headers: headers, 245 | body: body, 246 | search: search 247 | }); 248 | var req = new http_1.Request(options); 249 | // intercept the request 250 | this.requestInterceptor(req); 251 | // make the request and store the observable for later transformation 252 | var observable = this.http.request(req); 253 | // transform the obserable in accordance to the @Produces decorator 254 | if (descriptor.isJSON) { 255 | observable = observable.map(function (res) { return res.json(); }); 256 | } 257 | // intercept the response 258 | observable = this.responseInterceptor(observable); 259 | return observable; 260 | }; 261 | return descriptor; 262 | }; 263 | }; 264 | } 265 | /** 266 | * GET method 267 | * @param {string} url - resource url of the method 268 | */ 269 | exports.GET = methodBuilder(http_1.RequestMethod.Get); 270 | /** 271 | * POST method 272 | * @param {string} url - resource url of the method 273 | */ 274 | exports.POST = methodBuilder(http_1.RequestMethod.Post); 275 | /** 276 | * PUT method 277 | * @param {string} url - resource url of the method 278 | */ 279 | exports.PUT = methodBuilder(http_1.RequestMethod.Put); 280 | /** 281 | * DELETE method 282 | * @param {string} url - resource url of the method 283 | */ 284 | exports.DELETE = methodBuilder(http_1.RequestMethod.Delete); 285 | /** 286 | * HEAD method 287 | * @param {string} url - resource url of the method 288 | */ 289 | exports.HEAD = methodBuilder(http_1.RequestMethod.Head); 290 | //# sourceMappingURL=angular2-rest.js.map -------------------------------------------------------------------------------- /angular2-rest.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"angular2-rest.js","sourceRoot":"","sources":["angular2-rest.ts"],"names":["RESTClient","RESTClient.constructor","RESTClient.getBaseUrl","RESTClient.getDefaultHeaders","RESTClient.requestInterceptor","RESTClient.responseInterceptor","BaseUrl","DefaultHeaders","paramBuilder","Headers","Produces","MediaType","methodBuilder"],"mappings":"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"} -------------------------------------------------------------------------------- /angular2-rest.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | angular2-rest 4 | (c) Domonkos Pal 5 | License: MIT 6 | 7 | Table of Contents: 8 | 9 | - class RESTClient 10 | 11 | - Class Decorators: 12 | @BaseUrl(String) 13 | @DefaultHeaders(Object) 14 | 15 | - Method Decorators: 16 | @GET(url: String) 17 | @POST(url: String) 18 | @PUT(url: String) 19 | @DELETE(url: String) 20 | @Headers(object) 21 | @Produces(MediaType) 22 | 23 | - Parameter Decorators: 24 | @Path(string) 25 | @Query(string) 26 | @Header(string) 27 | @Body 28 | */ 29 | 30 | import {Inject} from "angular2/core"; 31 | import { 32 | Http, Headers as AngularHeaders, 33 | Request, RequestOptions, RequestMethod as RequestMethods, 34 | Response, 35 | URLSearchParams 36 | } from "angular2/http"; 37 | import {Observable} from "rxjs/Observable"; 38 | 39 | /** 40 | * Angular 2 RESTClient class. 41 | * 42 | * @class RESTClient 43 | * @constructor 44 | */ 45 | export class RESTClient { 46 | 47 | public constructor( @Inject(Http) protected http: Http) { 48 | } 49 | 50 | protected getBaseUrl(): string { 51 | return null; 52 | }; 53 | 54 | protected getDefaultHeaders(): Object { 55 | return null; 56 | }; 57 | 58 | /** 59 | * Request Interceptor 60 | * 61 | * @method requestInterceptor 62 | * @param {Request} req - request object 63 | */ 64 | protected requestInterceptor(req: Request) { 65 | // 66 | } 67 | 68 | /** 69 | * Response Interceptor 70 | * 71 | * @method responseInterceptor 72 | * @param {Response} res - response object 73 | * @returns {Response} res - transformed response object 74 | */ 75 | protected responseInterceptor(res: Observable): Observable { 76 | return res; 77 | } 78 | 79 | } 80 | 81 | /** 82 | * Set the base URL of REST resource 83 | * @param {String} url - base URL 84 | */ 85 | export function BaseUrl(url: string) { 86 | return function (Target: TFunction): TFunction { 87 | Target.prototype.getBaseUrl = function() { 88 | return url; 89 | }; 90 | return Target; 91 | }; 92 | } 93 | 94 | /** 95 | * Set default headers for every method of the RESTClient 96 | * @param {Object} headers - deafult headers in a key-value pair 97 | */ 98 | export function DefaultHeaders(headers: any) { 99 | return function (Target: TFunction): TFunction { 100 | Target.prototype.getDefaultHeaders = function() { 101 | return headers; 102 | }; 103 | return Target; 104 | }; 105 | } 106 | 107 | function paramBuilder(paramName: string) { 108 | return function(key: string) { 109 | return function(target: RESTClient, propertyKey: string | symbol, parameterIndex: number) { 110 | var metadataKey = `${propertyKey}_${paramName}_parameters`; 111 | var paramObj: any = { 112 | key: key, 113 | parameterIndex: parameterIndex 114 | }; 115 | if (Array.isArray(target[metadataKey])) { 116 | target[metadataKey].push(paramObj); 117 | } else { 118 | target[metadataKey] = [paramObj]; 119 | } 120 | }; 121 | }; 122 | } 123 | 124 | /** 125 | * Path variable of a method's url, type: string 126 | * @param {string} key - path key to bind value 127 | */ 128 | export var Path = paramBuilder("Path"); 129 | /** 130 | * Query value of a method's url, type: string 131 | * @param {string} key - query key to bind value 132 | */ 133 | export var Query = paramBuilder("Query"); 134 | /** 135 | * Body of a REST method, type: key-value pair object 136 | * Only one body per method! 137 | */ 138 | export var Body = paramBuilder("Body")("Body"); 139 | /** 140 | * Custom header of a REST method, type: string 141 | * @param {string} key - header key to bind value 142 | */ 143 | export var Header = paramBuilder("Header"); 144 | 145 | 146 | /** 147 | * Set custom headers for a REST method 148 | * @param {Object} headersDef - custom headers in a key-value pair 149 | */ 150 | export function Headers(headersDef: any) { 151 | return function(target: RESTClient, propertyKey: string, descriptor: any) { 152 | descriptor.headers = headersDef; 153 | return descriptor; 154 | }; 155 | } 156 | 157 | 158 | /** 159 | * Defines the media type(s) that the methods can produce 160 | * @param MediaType producesDef - mediaType to be parsed 161 | */ 162 | export function Produces(producesDef: MediaType) { 163 | return function(target: RESTClient, propertyKey: string, descriptor: any) { 164 | descriptor.isJSON = producesDef === MediaType.JSON; 165 | return descriptor; 166 | }; 167 | } 168 | 169 | 170 | /** 171 | * Supported @Produces media types 172 | */ 173 | export enum MediaType { 174 | JSON 175 | } 176 | 177 | 178 | function methodBuilder(method: number) { 179 | return function(url: string) { 180 | return function(target: RESTClient, propertyKey: string, descriptor: any) { 181 | 182 | var pPath = target[`${propertyKey}_Path_parameters`]; 183 | var pQuery = target[`${propertyKey}_Query_parameters`]; 184 | var pBody = target[`${propertyKey}_Body_parameters`]; 185 | var pHeader = target[`${propertyKey}_Header_parameters`]; 186 | 187 | descriptor.value = function(...args: any[]) { 188 | 189 | // Body 190 | var body = null; 191 | if (pBody) { 192 | body = JSON.stringify(args[pBody[0].parameterIndex]); 193 | } 194 | 195 | // Path 196 | var resUrl: string = url; 197 | if (pPath) { 198 | for (var k in pPath) { 199 | if (pPath.hasOwnProperty(k)) { 200 | resUrl = resUrl.replace("{" + pPath[k].key + "}", args[pPath[k].parameterIndex]); 201 | } 202 | } 203 | } 204 | 205 | // Query 206 | var search = new URLSearchParams(); 207 | if (pQuery) { 208 | pQuery 209 | .filter(p => args[p.parameterIndex]) // filter out optional parameters 210 | .forEach(p => { 211 | var key = p.key; 212 | var value = args[p.parameterIndex]; 213 | // if the value is a instance of Object, we stringify it 214 | if (value instanceof Object) { 215 | value = JSON.stringify(value); 216 | } 217 | search.set(encodeURIComponent(key), encodeURIComponent(value)); 218 | }); 219 | } 220 | 221 | // Headers 222 | // set class default headers 223 | var headers = new AngularHeaders(this.getDefaultHeaders()); 224 | // set method specific headers 225 | for (var k in descriptor.headers) { 226 | if (descriptor.headers.hasOwnProperty(k)) { 227 | headers.append(k, descriptor.headers[k]); 228 | } 229 | } 230 | // set parameter specific headers 231 | if (pHeader) { 232 | for (var k in pHeader) { 233 | if (pHeader.hasOwnProperty(k)) { 234 | headers.append(pHeader[k].key, args[pHeader[k].parameterIndex]); 235 | } 236 | } 237 | } 238 | 239 | // Request options 240 | var options = new RequestOptions({ 241 | method, 242 | url: this.getBaseUrl() + resUrl, 243 | headers, 244 | body, 245 | search 246 | }); 247 | 248 | var req = new Request(options); 249 | 250 | // intercept the request 251 | this.requestInterceptor(req); 252 | // make the request and store the observable for later transformation 253 | var observable: Observable = this.http.request(req); 254 | 255 | // transform the obserable in accordance to the @Produces decorator 256 | if (descriptor.isJSON) { 257 | observable = observable.map(res => res.json()); 258 | } 259 | 260 | // intercept the response 261 | observable = this.responseInterceptor(observable); 262 | 263 | return observable; 264 | }; 265 | 266 | return descriptor; 267 | }; 268 | }; 269 | } 270 | 271 | /** 272 | * GET method 273 | * @param {string} url - resource url of the method 274 | */ 275 | export var GET = methodBuilder(RequestMethods.Get); 276 | /** 277 | * POST method 278 | * @param {string} url - resource url of the method 279 | */ 280 | export var POST = methodBuilder(RequestMethods.Post); 281 | /** 282 | * PUT method 283 | * @param {string} url - resource url of the method 284 | */ 285 | export var PUT = methodBuilder(RequestMethods.Put); 286 | /** 287 | * DELETE method 288 | * @param {string} url - resource url of the method 289 | */ 290 | export var DELETE = methodBuilder(RequestMethods.Delete); 291 | /** 292 | * HEAD method 293 | * @param {string} url - resource url of the method 294 | */ 295 | export var HEAD = methodBuilder(RequestMethods.Head); 296 | -------------------------------------------------------------------------------- /docs/assets/css/main.css.map: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "mappings": "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", 4 | "sources": ["../../../../src/default/assets/css/vendors/_normalize.sass","../../../../src/default/assets/css/vendors/_highlight.js.sass","../../../../src/default/assets/css/setup/_mixins.sass","../../../../src/default/assets/css/setup/_grid.sass","../../../../src/default/assets/css/setup/_icons.scss","../../../../src/default/assets/css/setup/_animations.sass","../../../../src/default/assets/css/setup/_typography.sass","../../../../src/default/assets/css/_constants.sass","../../../../src/default/assets/css/layouts/_default.sass","../../../../src/default/assets/css/layouts/_minimal.sass","../../../../src/default/assets/css/elements/_comment.sass","../../../../src/default/assets/css/elements/_filter.sass","../../../../src/default/assets/css/elements/_footer.sass","../../../../src/default/assets/css/elements/_hierarchy.sass","../../../../src/default/assets/css/elements/_index.sass","../../../../src/default/assets/css/elements/_member.sass","../../../../src/default/assets/css/elements/_navigation.sass","../../../../src/default/assets/css/elements/_panel.sass","../../../../src/default/assets/css/elements/_search.sass","../../../../src/default/assets/css/elements/_signatures.sass","../../../../src/default/assets/css/elements/_sources.sass","../../../../src/default/assets/css/elements/_toolbar.sass"], 5 | "names": [], 6 | "file": "main.css" 7 | } 8 | -------------------------------------------------------------------------------- /docs/assets/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paldom/angular2-rest/a6b6a12d2c486257c5f181cf815d4e3065e6ce6f/docs/assets/images/icons.png -------------------------------------------------------------------------------- /docs/assets/images/icons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paldom/angular2-rest/a6b6a12d2c486257c5f181cf815d4e3065e6ce6f/docs/assets/images/icons@2x.png -------------------------------------------------------------------------------- /docs/assets/images/widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paldom/angular2-rest/a6b6a12d2c486257c5f181cf815d4e3065e6ce6f/docs/assets/images/widgets.png -------------------------------------------------------------------------------- /docs/assets/images/widgets@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Paldom/angular2-rest/a6b6a12d2c486257c5f181cf815d4e3065e6ce6f/docs/assets/images/widgets@2x.png -------------------------------------------------------------------------------- /docs/assets/js/modernizr.js: -------------------------------------------------------------------------------- 1 | /* Modernizr 2.8.3 (Custom Build) | MIT & BSD 2 | * Build: http://modernizr.com/download/#-shiv-cssclasses-prefixes-css_positionsticky-load 3 | */ 4 | ;window.Modernizr=function(a,b,c){function v(a){j.cssText=a}function w(a,b){return v(m.join(a+";")+(b||""))}function x(a,b){return typeof a===b}function y(a,b){return!!~(""+a).indexOf(b)}function z(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:x(f,"function")?f.bind(d||b):f}return!1}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n={},o={},p={},q=[],r=q.slice,s,t={}.hasOwnProperty,u;!x(t,"undefined")&&!x(t.call,"undefined")?u=function(a,b){return t.call(a,b)}:u=function(a,b){return b in a&&x(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=r.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(r.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(r.call(arguments)))};return e});for(var A in n)u(n,A)&&(s=A.toLowerCase(),e[s]=n[A](),q.push((e[s]?"":"no-")+s));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)u(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},v(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+q.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f 2 | 3 | 4 | 5 | 6 | RESTClient | angular2-rest 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
48 | Menu 49 |
50 |
51 |
52 |
53 |
54 |
55 | 66 |

Class RESTClient

67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |

Angular 2 RESTClient class.

77 |
78 |
79 |
class
80 |

RESTClient

81 |
82 |
constructor
83 |
84 |
85 |
86 |
87 |
88 |

Hierarchy

89 |
    90 |
  • 91 | RESTClient 92 |
  • 93 |
94 |
95 |
96 |

Index

97 |
98 |
99 |
100 |

Constructors

101 | 104 |
105 |
106 |

Properties

107 | 110 |
111 |
112 |

Methods

113 | 119 |
120 |
121 |
122 |
123 |
124 |

Constructors

125 |
126 | 127 |

constructor

128 |
    129 |
  • new RESTClient(http: Http): RESTClient
  • 130 |
131 |
    132 |
  • 133 | 138 |

    Parameters

    139 |
      140 |
    • 141 |
      http: Http
      142 |
    • 143 |
    144 |

    Returns RESTClient

    145 |
  • 146 |
147 |
148 |
149 |
150 |

Properties

151 |
152 | 153 |

Protected http

154 |
http: Http
155 | 160 |
161 |
162 |
163 |

Methods

164 |
165 | 166 |

Protected getBaseUrl

167 |
    168 |
  • getBaseUrl(): string
  • 169 |
170 |
    171 |
  • 172 | 177 |

    Returns string

    178 |
  • 179 |
180 |
181 |
182 | 183 |

Protected getDefaultHeaders

184 |
    185 |
  • getDefaultHeaders(): Object
  • 186 |
187 |
    188 |
  • 189 | 194 |

    Returns Object

    195 |
  • 196 |
197 |
198 |
199 | 200 |

Protected requestInterceptor

201 |
    202 |
  • requestInterceptor(req: Request): void
  • 203 |
204 |
    205 |
  • 206 | 211 |
    212 |
    213 |

    Request Interceptor

    214 |
    215 |
    216 |
    method
    217 |

    requestInterceptor

    218 |
    219 |
    220 |
    221 |

    Parameters

    222 |
      223 |
    • 224 |
      req: Request
      225 |
      226 |

      request object

      227 |
      228 |
    • 229 |
    230 |

    Returns void

    231 |
  • 232 |
233 |
234 |
235 | 236 |

Protected responseInterceptor

237 |
    238 |
  • responseInterceptor(res: Observable<any>): Observable<any>
  • 239 |
240 |
    241 |
  • 242 | 247 |
    248 |
    249 |

    Response Interceptor

    250 |
    251 |
    252 |
    method
    253 |

    responseInterceptor

    254 |
    255 |
    256 |
    257 |

    Parameters

    258 |
      259 |
    • 260 |
      res: Observable<any>
      261 |
      262 |

      response object

      263 |
      264 |
    • 265 |
    266 |

    Returns Observable<any>

    267 |

    res - transformed response object

    268 |
  • 269 |
270 |
271 |
272 |
273 | 364 |
365 |
366 |
367 |
368 |

Legend

369 |
370 |
    371 |
  • Module
  • 372 |
  • Object literal
  • 373 |
  • Variable
  • 374 |
  • Function
  • 375 |
  • Function with type parameter
  • 376 |
  • Index signature
  • 377 |
  • Type alias
  • 378 |
379 |
    380 |
  • Enumeration
  • 381 |
  • Enumeration member
  • 382 |
  • Property
  • 383 |
  • Method
  • 384 |
385 |
    386 |
  • Interface
  • 387 |
  • Interface with type parameter
  • 388 |
  • Constructor
  • 389 |
  • Property
  • 390 |
  • Method
  • 391 |
  • Index signature
  • 392 |
393 |
    394 |
  • Class
  • 395 |
  • Class with type parameter
  • 396 |
  • Constructor
  • 397 |
  • Property
  • 398 |
  • Method
  • 399 |
  • Accessor
  • 400 |
  • Index signature
  • 401 |
402 |
    403 |
  • Inherited constructor
  • 404 |
  • Inherited property
  • 405 |
  • Inherited method
  • 406 |
  • Inherited accessor
  • 407 |
408 |
    409 |
  • Protected property
  • 410 |
  • Protected method
  • 411 |
  • Protected accessor
  • 412 |
413 |
    414 |
  • Private property
  • 415 |
  • Private method
  • 416 |
  • Private accessor
  • 417 |
418 |
    419 |
  • Static property
  • 420 |
  • Static method
  • 421 |
422 |
423 |
424 |
425 |
426 |

Generated using TypeDoc

427 |
428 |
429 | 430 | 431 | 432 | -------------------------------------------------------------------------------- /docs/enums/_angular2_rest_.mediatype.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MediaType | angular2-rest 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
48 | Menu 49 |
50 |
51 |
52 |
53 |
54 |
55 | 66 |

Enumeration MediaType

67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |

Supported @Produces media types

77 |
78 |
79 |
80 |
81 |

Index

82 |
83 |
84 |
85 |

Enumeration members

86 | 89 |
90 |
91 |
92 |
93 |
94 |

Enumeration members

95 |
96 | 97 |

JSON

98 |
JSON:
99 | 104 |
105 |
106 |
107 | 183 |
184 |
185 |
186 |
187 |

Legend

188 |
189 |
    190 |
  • Module
  • 191 |
  • Object literal
  • 192 |
  • Variable
  • 193 |
  • Function
  • 194 |
  • Function with type parameter
  • 195 |
  • Index signature
  • 196 |
  • Type alias
  • 197 |
198 |
    199 |
  • Enumeration
  • 200 |
  • Enumeration member
  • 201 |
  • Property
  • 202 |
  • Method
  • 203 |
204 |
    205 |
  • Interface
  • 206 |
  • Interface with type parameter
  • 207 |
  • Constructor
  • 208 |
  • Property
  • 209 |
  • Method
  • 210 |
  • Index signature
  • 211 |
212 |
    213 |
  • Class
  • 214 |
  • Class with type parameter
  • 215 |
  • Constructor
  • 216 |
  • Property
  • 217 |
  • Method
  • 218 |
  • Accessor
  • 219 |
  • Index signature
  • 220 |
221 |
    222 |
  • Inherited constructor
  • 223 |
  • Inherited property
  • 224 |
  • Inherited method
  • 225 |
  • Inherited accessor
  • 226 |
227 |
    228 |
  • Protected property
  • 229 |
  • Protected method
  • 230 |
  • Protected accessor
  • 231 |
232 |
    233 |
  • Private property
  • 234 |
  • Private method
  • 235 |
  • Private accessor
  • 236 |
237 |
    238 |
  • Static property
  • 239 |
  • Static method
  • 240 |
241 |
242 |
243 |
244 |
245 |

Generated using TypeDoc

246 |
247 |
248 | 249 | 250 | 251 | -------------------------------------------------------------------------------- /docs/globals.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | angular2-rest 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
48 | Menu 49 |
50 |
51 |
52 |
53 |
54 |
55 | 60 |

angular2-rest

61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |

Index

69 |
70 |
71 |
72 |

External modules

73 | 76 |
77 |
78 |
79 |
80 |
81 | 97 |
98 |
99 |
100 |
101 |

Legend

102 |
103 |
    104 |
  • Module
  • 105 |
  • Object literal
  • 106 |
  • Variable
  • 107 |
  • Function
  • 108 |
  • Function with type parameter
  • 109 |
  • Index signature
  • 110 |
  • Type alias
  • 111 |
112 |
    113 |
  • Enumeration
  • 114 |
  • Enumeration member
  • 115 |
  • Property
  • 116 |
  • Method
  • 117 |
118 |
    119 |
  • Interface
  • 120 |
  • Interface with type parameter
  • 121 |
  • Constructor
  • 122 |
  • Property
  • 123 |
  • Method
  • 124 |
  • Index signature
  • 125 |
126 |
    127 |
  • Class
  • 128 |
  • Class with type parameter
  • 129 |
  • Constructor
  • 130 |
  • Property
  • 131 |
  • Method
  • 132 |
  • Accessor
  • 133 |
  • Index signature
  • 134 |
135 |
    136 |
  • Inherited constructor
  • 137 |
  • Inherited property
  • 138 |
  • Inherited method
  • 139 |
  • Inherited accessor
  • 140 |
141 |
    142 |
  • Protected property
  • 143 |
  • Protected method
  • 144 |
  • Protected accessor
  • 145 |
146 |
    147 |
  • Private property
  • 148 |
  • Private method
  • 149 |
  • Private accessor
  • 150 |
151 |
    152 |
  • Static property
  • 153 |
  • Static method
  • 154 |
155 |
156 |
157 |
158 |
159 |

Generated using TypeDoc

160 |
161 |
162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | angular2-rest 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
48 | Menu 49 |
50 |
51 |
52 |
53 |
54 |
55 | 60 |

angular2-rest

61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |

angular2-rest

69 |

Angular2 HTTP client to consume RESTful services. Built on angular2/http with TypeScript.
Note: this solutions is not production ready, it's in a very basic alpha state. Any ideas or contributions are very welcomed :)

70 |

Installation

71 |
npm install angular2-rest
 72 | 
73 |

Example

74 |

 75 | import {Request, Response} from 'angular2/http';
 76 | import {RESTClient, GET, PUT, POST, DELETE, BaseUrl, Headers, DefaultHeaders, Path, Body, Query} from 'angular2-rest';
 77 | 
 78 | import {Todo} from './models/Todo';
 79 | import {SessionFactory} from './sessionFactory';
 80 | 
 81 | @Injectable()
 82 | @BaseUrl("http://localhost:3000/api/")
 83 | @DefaultHeaders({
 84 |     'Accept': 'application/json',
 85 |     'Content-Type': 'application/json'
 86 | })
 87 | export class TodoRESTClient extends RESTClient {
 88 | 
 89 |     protected requestInterceptor(req: Request) {
 90 |         if (SessionFactory.getInstance().isAuthenticated) {
 91 |             req.headers.append('jwt', SessionFactory.getInstance().credentials.jwt);
 92 |         }
 93 |     }
 94 | 
 95 |     protected requestInterceptor(req: Response) {
 96 |         // do sg with responses
 97 |     }
 98 | 
 99 |     @GET("todo/")
100 |     public getTodos( @Query("sort") sort?: string): Observable { return null; };
101 | 
102 |     @GET("todo/{id}")
103 |     public getTodoById( @Path("id") id: string): Observable { return null; };
104 | 
105 |     @POST("todo")
106 |     public postTodo( @Body todo: Todo): Observable { return null; };
107 | 
108 |     @PUT("todo/{id}")
109 |     public putTodoById( @Path("id") id: string, @Body todo: Todo): Observable { return null; };
110 | 
111 |     @DELETE("todo/{id}")
112 |     public deleteTodoById( @Path("id") id: string): Observable { return null; };
113 | 
114 | }
115 | 
116 |

API Docs

117 |

RESTClient

118 |

Methods:

119 |
    120 |
  • getBaseUrl(): string: returns the base url of RESTClient
  • 121 |
  • getDefaultHeaders(): Object: returns the default headers of RESTClient in a key-value pair
  • 122 |
123 |

Class decorators:

124 |
    125 |
  • @BaseUrl(url: string)
  • 126 |
  • @DefaultHeaders(headers: Object)
  • 127 |
128 |

Method decorators:

129 |
    130 |
  • @GET(url: String)
  • 131 |
  • @POST(url: String)
  • 132 |
  • @PUT(url: String)
  • 133 |
  • @DELETE(url: String)
  • 134 |
  • @Headers(headers: Object)
  • 135 |
136 |

Parameter decorators:

137 |
    138 |
  • @Path(key: string)
  • 139 |
  • @Query(key: string)
  • 140 |
  • @Header(key: string)
  • 141 |
  • @Body
  • 142 |
143 |

License

144 |

MIT

145 |
146 |
147 | 163 |
164 |
165 |
166 |
167 |

Legend

168 |
169 |
    170 |
  • Module
  • 171 |
  • Object literal
  • 172 |
  • Variable
  • 173 |
  • Function
  • 174 |
  • Function with type parameter
  • 175 |
  • Index signature
  • 176 |
  • Type alias
  • 177 |
178 |
    179 |
  • Enumeration
  • 180 |
  • Enumeration member
  • 181 |
  • Property
  • 182 |
  • Method
  • 183 |
184 |
    185 |
  • Interface
  • 186 |
  • Interface with type parameter
  • 187 |
  • Constructor
  • 188 |
  • Property
  • 189 |
  • Method
  • 190 |
  • Index signature
  • 191 |
192 |
    193 |
  • Class
  • 194 |
  • Class with type parameter
  • 195 |
  • Constructor
  • 196 |
  • Property
  • 197 |
  • Method
  • 198 |
  • Accessor
  • 199 |
  • Index signature
  • 200 |
201 |
    202 |
  • Inherited constructor
  • 203 |
  • Inherited property
  • 204 |
  • Inherited method
  • 205 |
  • Inherited accessor
  • 206 |
207 |
    208 |
  • Protected property
  • 209 |
  • Protected method
  • 210 |
  • Protected accessor
  • 211 |
212 |
    213 |
  • Private property
  • 214 |
  • Private method
  • 215 |
  • Private accessor
  • 216 |
217 |
    218 |
  • Static property
  • 219 |
  • Static method
  • 220 |
221 |
222 |
223 |
224 |
225 |

Generated using TypeDoc

226 |
227 |
228 | 229 | 230 | 231 | -------------------------------------------------------------------------------- /docs/modules/_angular2_rest_.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | "angular2-rest" | angular2-rest 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 |
16 |
17 | 28 |
29 |
30 | Options 31 |
32 |
33 | All 34 |
    35 |
  • Public
  • 36 |
  • Public/Protected
  • 37 |
  • All
  • 38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 |
48 | Menu 49 |
50 |
51 |
52 |
53 |
54 |
55 | 63 |

External module "angular2-rest"

64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |

Index

72 |
73 |
74 |
75 |

Enumerations

76 | 79 |
80 |
81 |

Classes

82 | 85 |
86 |
87 |

Variables

88 | 99 |
100 |
101 |

Functions

102 | 110 |
111 |
112 |
113 |
114 |
115 |

Variables

116 |
117 | 118 |

Body

119 |
Body: (Anonymous function)
120 | 125 |
126 |
127 |

Body of a REST method, type: key-value pair object 128 | Only one body per method!

129 |
130 |
131 |
132 |
133 | 134 |

DELETE

135 |
DELETE: (Anonymous function)
136 | 141 |
142 |
143 |

DELETE method

144 |
145 |
146 |
param
147 |

resource url of the method

148 |
149 |
150 |
151 |
152 |
153 | 154 |

GET

155 |
GET: (Anonymous function)
156 | 161 |
162 |
163 |

GET method

164 |
165 |
166 |
param
167 |

resource url of the method

168 |
169 |
170 |
171 |
172 |
173 | 174 |

HEAD

175 |
HEAD: (Anonymous function)
176 | 181 |
182 |
183 |

HEAD method

184 |
185 |
186 |
param
187 |

resource url of the method

188 |
189 |
190 |
191 |
192 |
193 | 194 |

Header

195 |
Header: (Anonymous function)
196 | 201 |
202 |
203 |

Custom header of a REST method, type: string

204 |
205 |
206 |
param
207 |

header key to bind value

208 |
209 |
210 |
211 |
212 |
213 | 214 |

POST

215 |
POST: (Anonymous function)
216 | 221 |
222 |
223 |

POST method

224 |
225 |
226 |
param
227 |

resource url of the method

228 |
229 |
230 |
231 |
232 |
233 | 234 |

PUT

235 |
PUT: (Anonymous function)
236 | 241 |
242 |
243 |

PUT method

244 |
245 |
246 |
param
247 |

resource url of the method

248 |
249 |
250 |
251 |
252 |
253 | 254 |

Path

255 |
Path: (Anonymous function)
256 | 261 |
262 |
263 |

Path variable of a method's url, type: string

264 |
265 |
266 |
param
267 |

path key to bind value

268 |
269 |
270 |
271 |
272 |
273 | 274 |

Query

275 |
Query: (Anonymous function)
276 | 281 |
282 |
283 |

Query value of a method's url, type: string

284 |
285 |
286 |
param
287 |

query key to bind value

288 |
289 |
290 |
291 |
292 |
293 |
294 |

Functions

295 |
296 | 297 |

BaseUrl

298 |
    299 |
  • BaseUrl(url: string): (Anonymous function)
  • 300 |
301 |
    302 |
  • 303 | 308 |
    309 |
    310 |

    Set the base URL of REST resource

    311 |
    312 |
    313 |

    Parameters

    314 |
      315 |
    • 316 |
      url: string
      317 |
      318 |

      base URL

      319 |
      320 |
    • 321 |
    322 |

    Returns (Anonymous function)

    323 |
  • 324 |
325 |
326 |
327 | 328 |

DefaultHeaders

329 |
    330 |
  • DefaultHeaders(headers: any): (Anonymous function)
  • 331 |
332 |
    333 |
  • 334 | 339 |
    340 |
    341 |

    Set default headers for every method of the RESTClient

    342 |
    343 |
    344 |

    Parameters

    345 |
      346 |
    • 347 |
      headers: any
      348 |
      349 |

      deafult headers in a key-value pair

      350 |
      351 |
    • 352 |
    353 |

    Returns (Anonymous function)

    354 |
  • 355 |
356 |
357 |
358 | 359 |

Headers

360 |
    361 |
  • Headers(headersDef: any): (Anonymous function)
  • 362 |
363 |
    364 |
  • 365 | 370 |
    371 |
    372 |

    Set custom headers for a REST method

    373 |
    374 |
    375 |

    Parameters

    376 |
      377 |
    • 378 |
      headersDef: any
      379 |
      380 |

      custom headers in a key-value pair

      381 |
      382 |
    • 383 |
    384 |

    Returns (Anonymous function)

    385 |
  • 386 |
387 |
388 |
389 | 390 |

Produces

391 |
    392 |
  • Produces(producesDef: MediaType): (Anonymous function)
  • 393 |
394 |
    395 |
  • 396 | 401 |
    402 |
    403 |

    Defines the media type(s) that the methods can produce

    404 |
    405 |
    406 |

    Parameters

    407 |
      408 |
    • 409 |
      producesDef: MediaType
      410 |
    • 411 |
    412 |

    Returns (Anonymous function)

    413 |
  • 414 |
415 |
416 |
417 | 418 |

methodBuilder

419 |
    420 |
  • methodBuilder(method: number): (Anonymous function)
  • 421 |
422 |
    423 |
  • 424 | 429 |

    Parameters

    430 |
      431 |
    • 432 |
      method: number
      433 |
    • 434 |
    435 |

    Returns (Anonymous function)

    436 |
  • 437 |
438 |
439 |
440 | 441 |

paramBuilder

442 |
    443 |
  • paramBuilder(paramName: string): (Anonymous function)
  • 444 |
445 |
    446 |
  • 447 | 452 |

    Parameters

    453 |
      454 |
    • 455 |
      paramName: string
      456 |
    • 457 |
    458 |

    Returns (Anonymous function)

    459 |
  • 460 |
461 |
462 |
463 |
464 | 531 |
532 |
533 |
534 |
535 |

Legend

536 |
537 |
    538 |
  • Module
  • 539 |
  • Object literal
  • 540 |
  • Variable
  • 541 |
  • Function
  • 542 |
  • Function with type parameter
  • 543 |
  • Index signature
  • 544 |
  • Type alias
  • 545 |
546 |
    547 |
  • Enumeration
  • 548 |
  • Enumeration member
  • 549 |
  • Property
  • 550 |
  • Method
  • 551 |
552 |
    553 |
  • Interface
  • 554 |
  • Interface with type parameter
  • 555 |
  • Constructor
  • 556 |
  • Property
  • 557 |
  • Method
  • 558 |
  • Index signature
  • 559 |
560 |
    561 |
  • Class
  • 562 |
  • Class with type parameter
  • 563 |
  • Constructor
  • 564 |
  • Property
  • 565 |
  • Method
  • 566 |
  • Accessor
  • 567 |
  • Index signature
  • 568 |
569 |
    570 |
  • Inherited constructor
  • 571 |
  • Inherited property
  • 572 |
  • Inherited method
  • 573 |
  • Inherited accessor
  • 574 |
575 |
    576 |
  • Protected property
  • 577 |
  • Protected method
  • 578 |
  • Protected accessor
  • 579 |
580 |
    581 |
  • Private property
  • 582 |
  • Private method
  • 583 |
  • Private accessor
  • 584 |
585 |
    586 |
  • Static property
  • 587 |
  • Static method
  • 588 |
589 |
590 |
591 |
592 |
593 |

Generated using TypeDoc

594 |
595 |
596 | 597 | 598 | 599 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'), 2 | sourcemaps = require('gulp-sourcemaps'), 3 | uglify = require('gulp-uglify'), 4 | rename = require('gulp-rename'), 5 | jasmine = require('gulp-jasmine'), 6 | tsc = require('gulp-tsc'), 7 | typescript = require('gulp-typescript'), 8 | typedoc = require("gulp-typedoc"); 9 | 10 | var objectMerge = require('object-merge'); 11 | 12 | var tsProject = typescript.createProject('./tsconfig.json'); 13 | var tsConfig = require('./tsconfig.json'); 14 | var tsCompileDev = tsConfig.compilerOptions || {}; 15 | var tsCompileProd = objectMerge(tsCompileDev, { 16 | "removeComments": true, 17 | "declaration": false, 18 | "sourceMap": false 19 | }); 20 | 21 | gulp.task('build.js.dev', function () { 22 | gulp.src(['./*.ts']) 23 | .pipe(tsc(tsCompileDev)) 24 | .pipe(gulp.dest('.')); 25 | }); 26 | 27 | gulp.task('build.js.prod', function () { 28 | gulp.src(['./*.ts']) 29 | .pipe(sourcemaps.init()) 30 | .pipe(tsc(tsCompileProd)) 31 | .pipe(uglify()) 32 | .pipe(rename({extname: ".min.js"})) 33 | .pipe(sourcemaps.write()) 34 | .pipe(gulp.dest('dist')); 35 | }); 36 | 37 | gulp.task('test', function () { 38 | return gulp.src('spec/test.js') 39 | .pipe(jasmine()); 40 | }); 41 | 42 | gulp.task("typedoc", function () { 43 | return gulp 44 | .src(['./*.ts']) 45 | .pipe(typedoc({ 46 | module: "commonjs", 47 | target: "es5", 48 | out: "docs/", 49 | emitDecoratorMetadata: true, 50 | experimentalDecorators: true, 51 | name: "angular2-rest" 52 | })) 53 | ; 54 | }); 55 | 56 | gulp.task('default', ['build.js.dev', 'typedoc']) 57 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular2-rest", 3 | "version": "0.1.0", 4 | "description": "Angular2 HTTP client to consume RESTful services.", 5 | "typings": "./angular2-rest.d.ts", 6 | "main": "angular2-rest.js", 7 | "scripts": { 8 | "test": "node_modules/.bin/gulp test", 9 | "gulp": "node_modules/.bin/gulp" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/Paldom/angular2-rest.git" 14 | }, 15 | "keywords": [ 16 | "angular2", 17 | "angulario", 18 | "http", 19 | "rest", 20 | "client" 21 | ], 22 | "author": "Domonkos Pal ", 23 | "license": "MIT", 24 | "bugs": { 25 | "url": "https://github.com/Paldom/angular2-rest/issues" 26 | }, 27 | "homepage": "https://github.com/Paldom/angular2-rest#readme", 28 | "dependencies": { 29 | "angular2": "^2.0.0-beta.7", 30 | "es6-promise": "^3.0.2", 31 | "es6-shim": "^0.33.13", 32 | "reflect-metadata": "^0.1.2", 33 | "rxjs": "^5.0.0-beta.0", 34 | "zone.js": "^0.5.10" 35 | }, 36 | "devDependencies": { 37 | "gulp": "^3.9.0", 38 | "gulp-jasmine": "^2.2.1", 39 | "gulp-rename": "^1.2.2", 40 | "gulp-sourcemaps": "^1.6.0", 41 | "gulp-tsc": "^1.1.4", 42 | "gulp-typedoc": "^1.2.1", 43 | "gulp-typescript": "^2.10.0", 44 | "gulp-uglify": "^1.5.1", 45 | "object-merge": "^2.5.1" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es5", 5 | "noImplicitAny": false, 6 | "outDir": ".", 7 | "rootDir": ".", 8 | "declaration": true, 9 | "removeComments": false, 10 | "emitDecoratorMetadata": true, 11 | "experimentalDecorators": true, 12 | "sourceMap": true 13 | }, 14 | "exclude": [ 15 | "node_modules" 16 | ] 17 | } -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "class-name": true, 4 | "comment-format": [true, "check-space"], 5 | "curly": true, 6 | "eofline": true, 7 | "forin": true, 8 | "indent": [true, "spaces"], 9 | "label-position": true, 10 | "label-undefined": true, 11 | "max-line-length": [true, 140], 12 | "member-access": true, 13 | "member-ordering": [true, 14 | "public-before-private", 15 | "static-before-instance", 16 | "variables-before-functions" 17 | ], 18 | "no-arg": true, 19 | "no-bitwise": true, 20 | "no-console": [true, 21 | "debug", 22 | "info", 23 | "time", 24 | "timeEnd", 25 | "trace" 26 | ], 27 | "no-construct": true, 28 | "no-debugger": true, 29 | "no-duplicate-key": true, 30 | "no-duplicate-variable": true, 31 | "no-empty": true, 32 | "no-eval": true, 33 | "no-inferrable-types": true, 34 | "no-shadowed-variable": true, 35 | "no-string-literal": true, 36 | "no-switch-case-fall-through": true, 37 | "no-trailing-comma": true, 38 | "no-trailing-whitespace": true, 39 | "no-unused-expression": true, 40 | "no-unused-variable": true, 41 | "no-unreachable": true, 42 | "no-use-before-declare": true, 43 | "no-var-keyword": false, 44 | "object-literal-sort-keys": true, 45 | "one-line": [true, 46 | "check-open-brace", 47 | "check-catch", 48 | "check-else", 49 | "check-whitespace" 50 | ], 51 | "quotemark": [true, "double"], 52 | "radix": true, 53 | "semicolon": true, 54 | "triple-equals": [true, "allow-null-check"], 55 | "typedef-whitespace": [true, { 56 | "call-signature": "nospace", 57 | "index-signature": "nospace", 58 | "parameter": "nospace", 59 | "property-declaration": "nospace", 60 | "variable-declaration": "nospace" 61 | }], 62 | "variable-name": false, 63 | "whitespace": [true, 64 | "check-branch", 65 | "check-decl", 66 | "check-operator", 67 | "check-separator", 68 | "check-type" 69 | ] 70 | } 71 | } 72 | --------------------------------------------------------------------------------