目前,我在改装方面面临一些问题。对于第二个请求,我提供给ReformInstance的URL正在更改。以下是代码:
object RetrofitClientInstance{
private var retrofit: Retrofit? = null
//private const val BASE_URL = "http://api.sample.com/req/";
private const val BASE_URL = "http://test.sample.com/req/"
private const val BASE_URL_VERSION = "v1/"
fun getRetrofitInstance() : Retrofit {
if (retrofit == null) {
retrofit = Retrofit.Builder()
.baseUrl(BASE_URL + BASE_URL_VERSION)
.addConverterFactory(GsonConverterFactory.create())
.build()
}
return this!!.retrofit!!
}
}
以下是针对不同API请求的html" target="_blank">接口方法:
class UserLoginResponseReceiver{
interface GetDataService {
@FormUrlEncoded
@POST(UrlEndPoints.USER_LOGIN_BY_FACEBOOK)
fun loginUserByFacebook(@Field("access_token") last: String): Call<FbLoginResponse>
@GET(UrlEndPoints.ALL_POSTS)
fun getAllPosts() : Call<AllPostsResponse>
}
}
UrlEndPoints.kt
object UrlEndPoints {
const val USER_LOGIN_BY_FACEBOOK = "user/auth/facebook"
const val ALL_POSTS = "post"
}
对于第一个请求(loginUserByFacebook),我通过调试响应获得的URL是:
http://test.sample.com/req/v1/user/auth/facebook
这很好,工作也很好。但是对于第二个请求(getAllPosts()),我得到了以下URL:
http://test.sample.com/post
“req/v1”部分完全切断!结果我没有得到想要的回应。到底是什么问题?请帮帮我。
我不能重现这个,你应该尝试清理/重建你的项目,你在这里提供的代码没有错误。
这是我为测试它而添加的代码:
class AllPostsResponse
class FbLoginResponse
fun main(args: Array<String>) {
val service = RetrofitClientInstance.getRetrofitInstance()
.create(UserLoginResponseReceiver.GetDataService::class.java)
val url = service.getAllPosts().request().url()
println(url)
}
此处返回的URL如下所示:
http://test.sample.com/req/v1/post
我正在开发新的android应用程序,我想在koin模块改造中添加baseurl和api_key,但我很困惑 结束点:<代码>https://api-aws-eu-qa-1.auto1-test.com/v1/car-types/manufacturer?wa_key=coding-puzzle-client-449cc9d API密钥:编码-拼图-客户端-449cc9d 基本网址: 我想添加ba
我有一个场景,我必须调用具有相同基本URL的API,例如,但具有不同的。 我有一个Retrofit 2的实例,它是通过构建的: 如下所示: 对于某些,我必须调用相同的API,但在其他情况下,我必须从完全不同的调用它。如何更改实例以因此在运行时指向不同的URL? 改装实例没有
问题内容: 我有一个正在使用的HAL API,并且在许多情况下,我需要将请求(使用不同的方法)发送到从API返回的URL。这意味着我不想在改造API接口中对URL的路径进行硬编码,但是我想要的只是使用对该URL的改造发送一个简单的请求。我现在正在使用Volley,并且我知道可以为此目的使用OkHttp,但我想知道Retrofit中是否有一种不错的方法来执行此操作? 问题答案: Square最近发布
我制作了一个带有路由器dom的网站,不幸的是URL发生了变化,我需要刷新页面以查看正确的组件。 我已经看到了StackOverflow上的所有线程,但没有一个对我有帮助。 所以,我有一个pp.js作为主容器: 在标题我有链接: 到App.js我导入路由器、交换机和路由。为了header.js我导入路由器和链接。 所有内容都通过标准ReactDOM.render(,document.getEleme
问题内容: 我有这个网址: 我需要的是能够将“行”的url参数值更改为我指定的值,比方说10。如果“行”不存在,则需要将其添加到url的末尾并添加我已经指定的值(10)。 问题答案: 在学到很多东西之后的四年后,回答我自己的问题。特别是您不应该将jQuery用于所有功能。我创建了一个可以解析/字符串化查询字符串的简单模块。这使得修改查询字符串变得容易。 您可以按以下方式使用查询字符串:
问题内容: 我想向页面URL 添加一些参数。我正在加载这样的内容: 如何更改具有相同参数的URL ? 问题答案: 您可以使用HTML5 pushState API来实现。但是,只有最新的浏览器才支持它,而IE9甚至不支持IE。没有办法做到这一点。但是,有一个约定,您将使用location.hash来指示页面的状态已被ajax请求修改的页面。有关如何使用URL散列来表示你的页面上状态的更多信息,你可