kotlin.KotlinNullPointerException, когда я получаю данные с сервера пружиной restTemplate () - PullRequest
0 голосов
/ 18 апреля 2019

У меня проблема с получением данных с сервера

Я создаю мобильное приложение на Android Kotlin. Я использую Spring MVC Framework как сервер для моего приложения.

Я вызвал этот метод во Fragment, у меня проблема в model.allLanguage, этот метод возвращает null

val model = UsersModel()
val lan = model.allLanguage

val placesAdapter = PlacesAdapter(lan!!, activity!!.applicationContext)
        listViewPlaces.adapter = placesAdapter
        addPlacesTypeData()
        val ll : RecyclerView = view.findViewById(R.id.listView_places_button)
        ll!!.layoutManager = LinearLayoutManager(activity!!.applicationContext, OrientationHelper.HORIZONTAL, false)
        ll!!.adapter = PlacesButtonAdapter(placesTypeList)

        ll!!.addOnItemTouchListener(
                RecyclerItemClickListener(this!!.activity!!, object : RecyclerItemClickListener.OnItemClickListener {
                    override fun onItemClick(view: View, position: Int) {
                        Toast.makeText(activity?.applicationContext, "Clicked "+position, Toast.LENGTH_SHORT).show()
                        start()
                    }
                })
        )
//UserModel
    private val BASE_URL = "http://localhost:8080/api/"
    private val restTemplate = RestTemplate()

    val allUsers: List<Users>?
        get() {
            try {
                 return restTemplate.exchange<List<Users>>(
                        BASE_URL+"getAllUsers",
                        HttpMethod.GET,
                        null,
                        object : ParameterizedTypeReference<List<Users>>() {
                        }).body
            } catch (e: Exception) {
                return null
            }
        }
//Users 
import com.fasterxml.jackson.annotation.JsonProperty

class Users {
    @JsonProperty("id")
    var id: Long? = null
    @JsonProperty("login")
    var login: String? = null
    @JsonProperty("password")
    var password: String? = null
}
...