如何使用改进发送请求到tt-rss api

我已经阅读了很多关于Retrofit的内容,但是如何使用改进来实现对tt-rss api的post请求。

在tt-rss api文档中,它说使用curl来测试登录请求,应该是这样的:

$ curl -d '{"op":"login","user":"you","password":"xxx"}' http://example.dom/tt-rss/api/ 

我已经使用了下面的调用,但给了我“NOT_LOGGED_IN”的错误信息

 @FormUrlEncoded @POST("/api/login") Observable<login> doLogin(@Field("user") String user,@Field("password") String password); 

我不知道这个电话有什么问题

你应该在参数上使用@Body注解来将它转换为JSON。 您可以传递复杂的对象或地图

这里是Kotlin的例子(在纯Java中很容易做到这一点)

 data class LoginRequest(val login : String, val password : String, val op : String = "login") trait LoginService { POST("/api/login") fun doLogin(Body login : LoginRequest) : Obervable<login> POST("/api/login") fun doLogin2(Body login : Map<String, String) : Observable<login> }