Can response and request data types be different?

I mean to say that call and response have different data types I send JSON and get string in response in retrofit2

Call<User> call = client.createUser(user);
call.enqueue(new Callback<User>() {
    @Override
    public void onResponse(Call<User> call, Response<User> response) {
        kik=response.body().getId();
        Log.d("fhjhh", ""+response.body().);
    }

    @Override
    public void onFailure(Call<User> call, Throwable t) {
        String message = t.getMessage();
        Log.d("failure", message);
    }
});

Can response and request data types be different?