val gson = GsonBuilder()
.setDateFormat("d.M.yyyy")
.create()
val client = OkHttpClient.Builder()
.build()
val retrofit = Retrofit.Builder()
.baseUrl(RestService.BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build()
val rest = retrofit.create(RestService::class.java)
编辑:最终解决方案
class EncodingInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val response = chain.proceed(chain.request())
val mediaType = MediaType.parse("application/json; charset=iso-8859-1")
val modifiedBody = ResponseBody.create(mediaType, response.body().bytes())
val modifiedResponse = response.newBuilder()
.body(modifiedBody)
.build()
return modifiedResponse
}
}
这样做的一种方法是构建一个拦截器
,它接受响应并设置适当的内容类型
,如下所示:
class ResponseInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val response = chain.proceed(chain.request())
val modified = response.newBuilder()
.addHeader("Content-Type", "application/json; charset=utf-8")
.build()
return modified
}
}
您可以将其添加到OkHttp客户端,如下所示:
val client = OkHttpClient.Builder()
.addInterceptor(ResponseInterceptor())
.build()
您应该确保只对没有指定编码的API使用这个OKHttpClient
,或者让拦截器只为适当的endpoint添加头,以避免覆盖来自其他endpoint的有效内容类型头。
问题内容: 在将代码从Python 2移植到Python 3时,从标准输入读取UTF-8文本时遇到了这个问题。在Python 2中,这可以正常工作: 但是Python 3需要 sys.stdin中的 ASCII ,如果输入中包含非ASCII字符,则会出现错误: UnicodeDecodeError:’ascii’编解码器无法解码位置..中的字节..:序数不在范围内(128) 对于常规文件,我将在打
指定文字编码 可指定文字编码。一般情形下会自动判别,并无特意指定的必要。 1. 从选单列中选择[显示] > [文字编码]。 2. 选择希望指定的文字编码。 提示 仅可指定已开启网页的编码。于选择更新网页﹐或开启其他分页后﹐此指定即会自动解除。
我正在使用在线Swagger编辑器为我的API创建Swagger规范。 我的API有一个GET请求endpoint,我使用以下YAML代码来描述输入参数: 如果我输入标记,我会收到一个错误,说: 不完全是来自 在Swagger中编写GET参数时如何设置示例?
问题内容: 当使用带有https的hudson git插件时,如何指定密码? 问题答案: 你不能 这是git插件中的错误,但是有fork可以修复它,请参见: http://issues.hudson-ci.org/browse/HUDSON-3807
问题内容: 我努力了: 和: 但总是会显示错误代码500。 问题答案: 根据Express(版本4+)文档,您可以使用: http://expressjs.com/4x/api.html#res.status <= 3.8
相比开发普通的 Web 应用,在开发 SSR 应用时,端上环境和渲染机制的差异,会对编码带来一些约束: 状态管理 Server 端的渲染过程是一个同步的操作,其本质是将 JSX 组件渲染为 HTML 字符串。 setState 、 hooks 这类对组件异步更新状态的方法,以及组件的 生命周期 方法,在 Server 端不会被执行。 开发过程中,应尽量避免将用于渲染初始页面的状态,通过异步的方式来