//登陸
@FormUrlEncoded
@POST("${BuildConfig.EXTRA_URL}account/login.do")
fun login(@Field("username") userName: String, @Field("password") pwd: String, @Field("clientType") clientType: Int): Observable<HttpResultEntity<UserEntity>>
複製代碼
在上面這個Kotlin編寫的的網絡請求方法中,@FormUrlEncoded、@POST("${BuildConfig.EXTRA_URL}account/login")、 @Field("username")、@Field( "password") 、@Field("clientType")、Observable<HttpResultEntity> 這些都是對網絡請求的封裝。這裏須要知道的是,對網絡請求的封裝包括兩個方面:1. 對請求參數的封裝;2. 對網絡返回結果的封裝。上面列出來的幾項中除了Observable<HttpResultEntity> 以外都是對請求參數的封裝,即便是對Retrofit不太瞭解的同窗應該也是能夠很輕鬆的看懂一些參數表明的意義,好比**@POST表明這個網絡請求採用post方式,@Field("username")表明post請求域中要包含一個username的請求參數。而與之相對應的Observable<HttpResultEntity>**就是對網絡返回結果的封裝,對Rxjava瞭解的同窗應該明白,Retrofit把網絡返回的原始數據包裝成了一個Observable,便於咱們的開發。java