如何使用Retrofit执行此请求?

时间:2016-08-14 17:07:08

标签: retrofit2

我尝试使用Retrofit执行请求,但我收到了404错误,而它正在使用Postman:

  • Authorization标头,其值为"key=123456789"
  • Content-Type标头,其值为application/json

并在身体中:

{"notification": {"title":"Title","text":"Hello"},"to":"1234"}

回复将如下:

{ "multicast_id": 108,
  "success": 1,
  "failure": 0,
  "canonical_ids": 0,
  "results": [
    { "message_id": "1:08" }
  ]
}

我有这个Retrofit 2代码:

public interface FcmApi {

    @POST("/")
    @Headers({"Content-Type: application/json", "Authorization: key=123456789"})
    Observable<MyResponse> send(@Body String body);

}

MyResponse类

@JsonIgnoreProperties(ignoreUnknown = true)
public class MyResponse {
    public int success;
}

和测试:

String json = "{\"notification\": " +
                "{\"title\":\"Title\",\"text\":\"Hello\"}," +
                "\"to\":\"1234\"}";
api.send(json);

但我得到404错误。使用Postman可以使用相同的示例正常工作。

1 个答案:

答案 0 :(得分:0)

好像你正在使用key = 123456789。您应该使用Firebase控制台中的服务器密钥。同时&#34;到&#34;:&#34; 1234&#34;应该是您设备上的真实Firebase注册ID。