все норм, но сервер на Rails ругается на них
Processing by Api::V1::JobsController#create as HTML
Parameters: {"id"=>"2", "company"=>"company", "position"=>"first", "description"=>"description"}
Completed 400 Bad Request in 0ms (ActiveRecord: 0.0ms | Allocations: 167)
ActionController::ParameterMissing (param is missing or the value is empty: job):
app/controllers/api/v1/jobs_controller.rb:42:in `job_params'
app/controllers/api/v1/jobs_controller.rb:15:in `create'
Processing by Api::V1::JobsController#index as HTML
Parameters: {"_sort"=>"id", "_order"=>"desc", "job"=>{}}
——————————————— Следовательно
ключ job отсутствует в параметрах, где должно быть так
{"id"=>"2", "job => {""company"=>"company", "position"=>"first", "description"=>"description"}}
мой интерфейс:
@FormUrlEncoded
@POST("/api/v1/jobs")
suspend fun pushJob2(
@Field("id") id: Int,
@Field("company") company: String,
@Field("position") position: String,
@Field("description") description: String
): Response<Job>
репозиторий
suspend fun pushJob2(id: Int, company: String, position: String, description: String): Response<Job> {
return RetrofitInstance.api.pushJob2(id, company, position, description)
}
MainViewModel
fun pushJob2(id: Int, company: String, position: String, description: String) {
viewModelScope.launch {
val response = repository.pushJob2(id, company, position, description)
Response.value = response
}}
И сама отправка с MainActivity
viewModel.pushJob2(2,"company", "first", "description")
Что нужно поправить для коректной отправки?
Вложить его еще раз или что именно?
httplogginginterceptor включить и сравнить запрос с запросом placeholder
Всё будет очевидно
Судя по описанию, надо формировать json, записывать в него параметры и отправлять на сервер
Обсуждают сегодня