Дооснащение 2 запрос всегда неудачей - Котин - PullRequest
0 голосов
/ 20 декабря 2018

Я пытался узнать о kotlin и дооснащение 2 одновременно.У меня есть этот код.

Я хочу получить все сообщения / из этого https://jsonplaceholder.typicode.com/posts. Но он всегда возвращает код ошибки.Я очень новичок в этом, спасибо

Сетевой интерфейс

interface APIService {

@GET("/posts")
fun getPosts(): Call<List<UserData>>

POJO класс

open class UserData {

@SerializedName("userId")
@Expose
open var user_id: Int? = null

@SerializedName("id")
@Expose
open var id: Int? = null

@SerializedName("title")
@Expose
open var title: String? = null

@SerializedName("body")
@Expose
open var body: String? = null
}

MainActivity

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val retrofit = Retrofit.Builder()
            .addConverterFactory(GsonConverterFactory.create())
            .baseUrl("https://jsonplaceholder.typicode.com/")
            .build()

    val service = retrofit.create(APIService::class.java)

    service.getPosts().enqueue(object : Callback<List<UserData>> {
        override fun onFailure(call: Call<List<UserData>>?, t: Throwable?) {
            Log.d("RetrofitTest", t.toString())

        }

        override fun onResponse(call: Call<List<UserData>>?, response: Response<List<UserData>>?) {
            Log.d("RetrofitTest", "onFailure")
        }

    })
}
}

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Это всегда сбой, потому что причиной является неверный URL.Ошибка, которую вы сделали, это '/'.Либо вы можете поместить косую черту ('/') в базовый URL или в начало конечной точки.В вашем случае URL-адрес выглядит как "https://jsonplaceholder.typicode.com//posts".. Это недопустимо, поэтому ваш запрос не прошел. Поэтому просто удалите символ '/' из конечной точки.

Выполните запростакой интерфейс:

interface APIService {

   @GET("posts")
   fun getPosts(): Call<List<UserData>>

   }
0 голосов
/ 20 декабря 2018

в интерфейсе APIService @GET ("posts") вместо @GET ("/ posts")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...