Java 如何使用改型库发布原始JSON对象
我尝试使用Postman并使用同一个JSON对象进行测试,它工作得非常好,但当我使用改型库时,它不起作用 我尝试将JSON对象放在Pojo类中,但仍然不起作用 通知服务类Java 如何使用改型库发布原始JSON对象,java,android,firebase,firebase-cloud-messaging,retrofit,Java,Android,Firebase,Firebase Cloud Messaging,Retrofit,我尝试使用Postman并使用同一个JSON对象进行测试,它工作得非常好,但当我使用改型库时,它不起作用 我尝试将JSON对象放在Pojo类中,但仍然不起作用 通知服务类 public interface NotificationService { @Headers({ "Content-Type:"+ApiConstants.CONTENT_TYPE, "Authorization:"+ApiConstants.SERVER_KEY
public interface NotificationService {
@Headers({
"Content-Type:"+ApiConstants.CONTENT_TYPE,
"Authorization:"+ApiConstants.SERVER_KEY
})
@POST(ApiConstants.SEND)
Call<ResponseBody> sendNotification(@Body String body);
}
主要活动
private void buttonIsPressed() {
RetrofitClient retrofitClient;
retrofitClient = RetrofitClient.getInstance();
Call<ResponseBody> call = retrofitClient.getNotificationService().sendNotification(ApiConstants.NOTIFICATION);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
ResponseBody result = response.body();
String gs = new Gson().toJson(result);
Log.d("MainActivity", "response = " + gs);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.d(TAG, "//onFailure");
}
});
}
private void按钮按下(){
改造客户;
RefughtClient=RefughtClient.getInstance();
Call Call=reformationclient.getNotificationService().sendNotification(ApiConstants.NOTIFICATION);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
ResponseBody result=response.body();
字符串gs=new Gson().toJson(结果);
日志d(“主要活动”,“响应=”+gs);
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Log.d(标记“//onFailure”);
}
});
}
我试图在按下按钮时向某些特定用户发送通知。从中我可以看出,唯一不起作用的是,在使用
调用sendNotification(@body String body)
时,我为body提供了错误的输入
public class MyRequestBodyModel {
@SerializedName("id")
private int id;
@SerializedName("name")
private String name;
}
创建MyRequestBodyModel的新实例并传递您的值
MyRequestBodyModel model = new MyRequestBodyModel();
model.id = 1;
model.name = "john";
将此模型的实例设置为改装调用方法的参数
Call<ResponseBody> sendNotification(@Body MyRequestBodyModel model);
调用sendNotification(@Body MyRequestBodyModel model);
您应该创建一个模型类
public class MyRequestBodyModel {
@SerializedName("id")
private int id;
@SerializedName("name")
private String name;
}
创建MyRequestBodyModel的新实例并传递您的值
MyRequestBodyModel model = new MyRequestBodyModel();
model.id = 1;
model.name = "john";
将此模型的实例设置为改装调用方法的参数
Call<ResponseBody> sendNotification(@Body MyRequestBodyModel model);
调用sendNotification(@Body MyRequestBodyModel model);
使用此方法从应用程序内发送FCM消息,需要在应用程序内指定FCM服务器密钥。顾名思义,此密钥只应在受信任的环境中使用,例如您的开发机器、您控制的服务器或云功能。通过在您的应用程序中使用此密钥,恶意用户可以从中提取该密钥,然后代表您向应用程序的所有用户发送消息。要安全地发送消息,您需要运行服务器端代码。请参阅和。使用此方法从应用程序内发送FCM消息需要在应用程序内指定FCM服务器密钥。顾名思义,此密钥只应在受信任的环境中使用,例如您的开发机器、您控制的服务器或云功能。通过在您的应用程序中使用此密钥,恶意用户可以从中提取该密钥,然后代表您向应用程序的所有用户发送消息。要安全地发送消息,您需要运行服务器端代码。见和。