如何使用改进发送请求到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> }