如何从android应用中的node.js服务器读取响应

时间:2020-08-14 10:14:59

标签: android node.js retrofit2 response

我有一个android应用,其中我具有使用改造的登录方式,其中我发送登录名和密码,node.js上的服务器获取我的日志和密码,并在应用中向我发送一些令牌。 android应用t get token. I think its because i don不知道服务器应该如何发送信息。

我发送帖子的人

private fun LoginBtn(apiClient: ApiClient, login_btn: Button, sessionManager: SessionManager) {
    login_btn.setOnClickListener {

        CoroutineScope(Dispatchers.Default).launch {

            Log.d("MainActivity", "test ")
            apiClient.getApiService()
                .login("login", "password") //
                .enqueue(object : Callback<LoginResponse> {
                    override fun onFailure(call: Call<LoginResponse>, t: Throwable) {
                        // Error logging in
                        Log.d("MainActivity", "onFailure: $t")
                    }

                    override fun onResponse(
                        call: Call<LoginResponse>,
                        response: Response<LoginResponse>
                    ) {
                        Log.d("MainActivity", "onResponse: ")

                        val loginResponse = response.body()


                        if (loginResponse?.statusCode == 200) {
                            Log.d("MainActivity", "onResponse: ${loginResponse.authToken}")
                            sessionManager.saveAuthToken(loginResponse.authToken)
                        } else {
                            // Error logging in
                            Log.d("MainActivity", "onResponse: ")

                        }
                    }
                })

        }
    }
}

登录后,mhetod发送密码并登录,在mhetod .enqueue中触发了onFailure信息 ure:com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)在第1行第1列路径$

上接受格式错误的JSON。

我的服务器代码

app.post('/login', function(request, response){

    console.log(request.body.login);
    console.log(request.body.password);
    
        response.writeHead(200,accessToken,refreshToken)
        // response.writeHead(200,"hellowwwwwww")
        response.cookie(200,"hellow","kostya")
        response.write("seccess")
        response.end

});

也许在节点服务器中通过另一种方法发送响应

0 个答案:

没有答案