rebirth http
v6.0.2
Java JPA เช่นไคลเอ็นต์ HTTP สำหรับ Angular
$ npm install @ng-zorro/rebirth-http --save
RebirthHttpModule
import { RebirthHttpModule } from '@ng-zorro/rebirth-http' ;
@ NgModule ( {
imports : [ BrowserModule , RebirthHttpModule ] ,
declarations : [ AppComponent ] ,
bootstrap : [ AppComponent ] ,
} )
export class AppModule { }
import {
Any ,
RebirthHttpClient ,
JSONP ,
GET ,
POST ,
PUT ,
DELETE ,
PATCH ,
BaseUrl ,
Query ,
Path ,
Body ,
} from 'rebirth-http' ;
import { Observable } from 'rxjs/Observable' ;
import { HttpClient } from '@angular/common/http' ;
@ Injectable ( )
export class ArticleService extends RebirthHttpClient {
constructor ( http : HttpClient ) {
super ( http ) ;
}
@ GET ( 'article' )
getArticles (
@ Query ( 'pageIndex' ) pageIndex = 1 ,
@ Query ( 'pageSize' ) pageSize = 10
) : Observable < SearchResult < Article > > {
return Any ; // return Any as a placeholder
}
@ GET ( 'article/:id' )
getArticleByUrl ( @ Path ( 'id' ) articleUrl : string ) : Observable < Article > {
return Any ;
}
@ POST ( 'article' )
createArticle ( @ Body article : Article ) : Observable {
return Any ;
}
@ PUT ( 'article/:id' )
updateArticle (
@ Path ( 'id' ) id : string ,
@ Body article : Article
) : Observable < Article > {
return Any ;
}
@ DELETE ( 'article/:id' )
deleteArticleById ( @ Path ( 'id' ) id : string ) : Observable < Article > {
return Any ;
}
@ JSONP ( 'article/:id' )
getArticleByJsonp (
@ Path ( 'id' ) id : string ,
@ Query ( 'name' ) name : string
) : Observable < Article > {
return Any ;
}
@ POST ( 'file/upload' )
upload ( @ Body formData : FormData ) : Observable < any > {
return Any ;
}
}
ArticleService
ตอนนี้คุณสามารถเรียกวิธีการของ ArticleService
เพื่อส่งคำขอ HTTP ได้! -
คุณสามารถเพิ่ม interceptor สำหรับ RebirthHttpClient
ใดก็ได้
import { config } from '@/config' ;
import { RebirthHttpProvider } from '@ng-zorro/rebirth-http' ;
@ Component ( {
selector : 'app-root' ,
} )
export class AppComponent {
constructor ( rebirthHttpProvider : RebirthHttpProvider ) {
rebirthHttpProvider . baseUrl ( config . api . host ) . addInterceptor ( {
request : ( request ) =>
console . log ( 'Global interceptors(request)' , request ) ,
response : ( response ) =>
console . log ( 'Global interceptors(response)' , response ) ,
} ) ;
}
}
RebirthHttpClient
ทุกบริการที่รับผิดชอบ HTTP ควรสืบทอด RebirthHttpClient
getBaseUrl(): string
: ส่งคืน URL พื้นฐานของไคลเอ็นต์ RebirthHttpgetDefaultHeaders(): { [name: string]: string }
: ส่งคืนส่วนหัวเริ่มต้นของ RebirthHttp ในคู่คีย์-ค่า มัณฑนากรเหล่านี้ควรใช้กับคลาสที่สืบทอด RebirthHttpClient
@BaseUrl(url: string)
: เปลี่ยน URL พื้นฐานของ RebirthHttpClient@DefaultHeaders(headers: Object)
: เปลี่ยนส่วนหัวเริ่มต้นของ RebirthHttpClient เครื่องมือตกแต่งเหล่านี้จะสร้างวิธีการของ RebirthHttpClient
ที่สามารถส่งคำขอ HTTP ได้
@GET(url: string)
@POST(url: string)
@PUT(url: string)
@DELETE(url: string)
@JSONP(url: string)
@PATCH(url: string)
@HEAD(url: string)
@OPTIONS(url: String)
คุณสามารถใช้เครื่องมือตกแต่งด้านล่างเพื่อแก้ไขตัวเลือก HTTP
@Headers(headers: any)
@RequestOptions(headers: any)
@Extra(headers: any)
ใช้ตัวตกแต่งด้านล่างเพื่อตกแต่งพารามิเตอร์ของวิธีการของ RebirthHttpClient
ดังนั้นพารามิเตอร์จะกลายเป็นตัวเลือก HTTP ที่สอดคล้องกัน
@Path(key: string)
@Query(key: string)
@Header(key: string)
@Body
ขอบคุณ Paldom/angular2-rest ที่ให้แรงบันดาลใจแก่เรา
เอ็มไอที