如何在 Kotlin 的 x-www-form-urlencoded 请求中的 Url 中添加 Post 请求主体?

How to add Post request Body in Url in x-www-form-urlencoded request in Kotlin?

嗨,我正在尝试使用 Kotlin 进行自动化 API 测试,现在我需要添加一个 post 请求来生成令牌。 post 方法包含 application/x-www-form-urlencoded 的内容类型 现在我需要以 x-www-form-urlencoded 格式传递正文。我们怎样才能做到这一点。

"""class 登录:PostRequest() {

override fun buildHttpRequestBuilder(): HttpRequest.Builder {
    val httpRequestBuilder = super.buildHttpRequestBuilder()
    httpRequestBuilder.header("Content-Type", "application/x-www-form-urlencoded")
    return httpRequestBuilder
}

override fun buildUrl(): String {
    return "URL"
}

override fun buildPostBody(): String {

    val body = JSONObject().apply {
        .field("grant_type", "client_credentials")"""

Retrofit 1.9您可以在您的界面上添加此注释。

@Headers("Content-Type:application/x-www-form-urlencoded; charset=utf-8")

Retrofit 2.3+ 版本在您的请求中添加 @FormUrlEncoded api

演示代码


@FormUrlEncoded
@POST("mobileapi")
Observable<Result<YourData>> queryData(@Field("pageNo") Integer num);

希望能给大家带来一些帮助。