ktor中host和baseurl的区别
Posted
技术标签:
【中文标题】ktor中host和baseurl的区别【英文标题】:Diffrence between host and baseurl in ktor 【发布时间】:2021-04-05 00:09:24 【问题描述】:我无法完全理解 ktor 中 host
和 baseUrl
之间的区别。我需要为我的项目设置一个 baseURL,并且我遇到了 this 和 this youtrack 问题,但它们都提出了一些不同的方法,我很困惑该选择什么。我可以在defaultrequest
中设置host = "baseurl"
,然后简单地使用
httpClient.post<T>
url("suffix here")
它有效。但我不确定这是否是正确的方法,如果是,这是否意味着主机与我们在改造和 okhttp 中使用的 baseURL 相同。
【问题讨论】:
【参考方案1】:由于URLBuilder.takeFromUnsafe()
的实现方式,您所做的工作有效。此函数负责将您的 "suffix here"
值解析为 url - 它通过仅设置它可以在您传入的字符串中识别的部分 url 来实现。有关更多详细信息,请参阅 URLParser.kt#28
。
它安全吗 - 是的。这是个好主意吗?我不这么认为。它是隐含的,依赖于未来开发人员熟悉其他库(okhttp 和改造)使用的 baseUrl 方法。
【讨论】:
嗨。感谢您的澄清。不知道我应该使用什么然后有什么建议吗?我见过一些使用url($baseUrl\suffixhere)
的实时应用程序,但这对我来说似乎不是一个好主意以上是关于ktor中host和baseurl的区别的主要内容,如果未能解决你的问题,请参考以下文章
从Environment.SpecialFolder.LocalApplicationData加载的文件设置BASEURL