Kotlin Retrofit,我用一个长字符串发出了一个 post 请求,但是当我检查服务器中的结果时,它充满了 \n 个字符

Kotlin Retrofit, I made a post request with a long string but when I checked the result in the server is full of \n characters

我正在使用 Retrofit 将数据发送到数据库,但保存的正文与我发送的不同

我正在以 base64 格式发送一张图片,但是当我检查文件时,我发现里面全是 /n 个空格

会发生什么?

问题出在名为 Adjunto 的变量上

代码:

改装供应商:

@Singleton
@Provides
fun provideRetrofit(): Retrofit {
    return Retrofit.Builder()
        .addConverterFactory(MoshiConverterFactory.create())
        .baseUrl(Constans.BASE_URL)
        .build()
}

我用过 Gson 转换器,但它不起作用

改装Api:

@POST("RS_Documentos")
suspend fun newDocument (@Body document: NewDocument): Response<DocumentResponse>

正文已发送:

    override suspend fun newDocument(document: DocumentsItem): Resource<DocumentResponse> {

    try {
        
        var newDocument = NewDocument(
            Adjunto = document.Adjunto,
            Apellido = document.Apellido,
            Ciudad = document.Ciudad,
            Correo = document.Correo,
            Identificacion = document.Identificacion,
            Nombre = document.Nombre,
            TipoAdjunto = document.TipoAdjunto,
            TipoId = document.TipoId
        )

        var response = iDocumentDAO.newDocument(document = newDocument).body()
       
        return Resource.Success(data = response!!)

    } catch (e: Exception) {
        return Resource.Error("The Document doesn't was created")

    }
    return Resource.Error("The Document doesn't was created")
}

}

现在部分base64图片:

base 64 sent

但是当我查看数据库中的图片时,似乎是这样的: Base 64 Saved

我找到了解决方案。

问题出在发送 IDK 的正文中,为什么 val adjunto 有 \n 空格,但是当我清除 val adjunto 的空格和换行符时,文件被正确发送了。

这是新代码:

    override suspend fun newDocument(document: DocumentsItem): Resource<DocumentResponse> {

    try {
        Log.d("Document email", document.Correo.toString())
        val result= document.Adjunto!!.replace("\n","")
        val newDocument = NewDocument(
            adjunto = result,
            apellido = document.Apellido!!,
            ciudad = document.Ciudad!!,
            correo = document.Correo!!,
            identificacion = document.Identificacion!!,
            nombre = document.Nombre!!,
            tipoAdjunto = document.TipoAdjunto!!,
            tipoId = document.TipoId!!
        )
        Log.d("Document Created", newDocument.toString())

        val response = iDocumentDAO.newDocument(document = newDocument).body()
        Log.d("Document Created", response.toString())
        return Resource.Success(data = response!!)

    } catch (e: Exception) {
        return Resource.Error("The Document doesn't was created")

    }
}