学习 Retrofit 的方式
- https://square.github.io/retrofit/
- 看注解源码中的说明。
各种 Post 请求
Form表单、四种常见的POST请求提交数据方式、MIME【转】
interface SimpleApi {
// 表单键值对
@FormUrlEncoded
@POST
fun a(@Field("key") value: String): Call<Any>
// json 字符串
@POST
fun b(@Body any: Any): Call<Any>
// 多文件上传及其他
@Multipart
@POST
fun c(@Part part: MultipartBody.Part, @Part("description") description: RequestBody): Call<Any>
}
拼 Part
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.asRequestBody
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
val file = File("1.png")
val mediaType = "image/png"
val requestBody = file.asRequestBody(mediaType.toMediaType())
val part = MultipartBody.Part.createFormData("", "", requestBody)
}
}
网友评论