Мне нужно создать в клиенте REST API некоторые классы для обработки (де) сериализации данных, и я не использую, как назвать классы осмысленным образом.
Например, с следующий API
GET /User
POST /Message
Я думал об использовании этой структуры:
package com.example.model
import kotlinx.serialization.Serializable
object User {
@Serializable
data class Response(
val username: String,
val fullName: String
)
}
object Message {
@Serializable
data class Request(
val title: String,
val message: String
)
@Serializable
data class Response(
val status: Int
)
}
Но я не знаю, как обрабатывать что-то подобное (предположим, что все запросы и ответы имеют другую структуру):
GET /User
POST /Message
DELETE /Message
Я думал примерно так:
object UserGet { ... }
object MessagePost { ... }
object MessageDelete { ... }
Но тогда я не знаю, как с этим бороться:
GET /User
GET /User/{userId}
GET /User/{userId}/AllMessages
POST /Message
DELETE /Message
Есть ли соглашение для этого варианта использования? Как это обычно делается на стороне сервера?