我读了很多关于retrofit的文章,但我真的对如何使用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);我不知道这通电话有什么问题..
发布于 2015-03-04 01:29:21
您应该在参数上使用@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>
}https://stackoverflow.com/questions/28818367
复制相似问题