Почему объект LocalDateTime был пуст в запросе с использованием Retrofit2 - PullRequest
0 голосов
/ 25 марта 2020

Я использую Retrofit2, чтобы сделать запрос POST к серверу. Я строю объект с LocalDateTime в. Значение этого LocalDateTime было: 2020-03-25T14: 41: 20. После того, как я использовал модификацию для создания запроса, но на стороне сервера, мой коллега получает пустой LocalDateTime.

Вот мой код для запросов POST. У меня был Interceptor, чтобы узнать, какие данные были отправлены на сервер:

val interceptor = HttpLoggingInterceptor()
interceptor.level = HttpLoggingInterceptor.Level.BODY
val client = OkHttpClient.Builder().addInterceptor(interceptor).build()

val retrofit = Retrofit.Builder().client(client).baseUrl(egaUrl).addConverterFactory(GsonConverterFactory.create()).build()
val service = retrofit.create(ClientApi::class.java)
val receptionStockMovements = service.postReceptionStockMovements(receptionMovements)

Вот здесь содержимое приема приемов:

ReceptionStockMovement(business=123456789789, date=2020-03-25T14:41:20, targetStockLocation=1403, userName=admin)

Вот запрос на пост от Retrofit:

D/OkHttp: <-- 200 OK http://xxx.xxx.xxx/client/API/ReceptionStockMovements (148ms)
    Content-Type: application/json; charset=utf-8
    Server: Microsoft-IIS/10.0
    Date: Wed, 25 Mar 2020 16:47:14 GMT
    Content-Length: 102
D/OkHttp: [{"business":"123456789789","date":{},"id":1,"targetStockLocation":1403,"userName":"admin@timcod.fr"}]
    <-- END HTTP (102-byte body)

Как видите, дата пуста ...

Класс ReceptionStockMovement был таким:

@Entity(tableName = "ReceptionStockMovements")
data class ReceptionStockMovement(
    var business: String,
    @TypeConverters(DateConvert::class) var date: LocalDateTime,
    @ColumnInfo(name = "target_stock_location") var targetStockLocation: Int?,
    @ColumnInfo(name = "user_name") var userName: String
){
    @PrimaryKey(autoGenerate = true) var id: Int = 0
}

DateConvert был здесь для преобразования LocalDateTime в Long при использовании Room.

Здесь класс ClientApi:

//region POST REQUESTS DECLARATIONS

const val API_POST_RECEPTIONS = "ReceptionStockMovements"

//endregion

// API REST
interface ClientApi {

    //region POST REQUESTS

    @POST(API_POST_RECEPTIONS)
    fun postReceptionStockMovements(@Body receptionsList: List<ReceptionStockMovement>): Call<List<ReceptionStockMovement>>

}

Вы когда-нибудь видели тип проблемы? Спасибо

...