Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 改装:发送POST请求_Java_Android_Retrofit - Fatal编程技术网

Java 改装:发送POST请求

Java 改装:发送POST请求,java,android,retrofit,Java,Android,Retrofit,这是我的职位申请声明: @POST("/api/geo/getLoc") public void getFriendsLocation(@Field("Id") int Id, @Field("Number") String Number, @Field("FriendNumber") String FriendNumber, Callback<JsonElement> response); 我的请求有什么问题?我猜您忘记了方法声明中的@FormUrlEncoded注释。应

这是我的职位申请声明:

@POST("/api/geo/getLoc")
    public void getFriendsLocation(@Field("Id") int Id, @Field("Number") String Number, @Field("FriendNumber") String FriendNumber, Callback<JsonElement> response);

我的请求有什么问题?

我猜您忘记了方法声明中的
@FormUrlEncoded
注释。应该是这样的:

@FormUrlEncoded
@POST("/api/geo/getLoc")
public void getFriendsLocation(@Field("Id") int Id, @Field("Number") String Number, @Field("FriendNumber") String FriendNumber, Callback<JsonElement> response);
@FormUrlEncoded
@POST(“/api/geo/getLoc”)
public void getFriendsLocation(@Field(“Id”)int-Id、@Field(“Number”)字符串编号、@Field(“FriendNumber”)字符串FriendNumber、回调响应);

检索好友位置等方法被标记为POST而不是GET,这让人感到非常奇怪。你确定服务器将此方法视为POST吗?@Hasslarn我知道此方法的名称有点不正确,但我确定该POST方法是否已检查是否调用了失败方法?这可能会为您提供出错的信息,例如来自服务器的HTTP代码。@Hassarn我试图在回调的成功和失败部分添加断点,但什么也没有发生。看起来它无法发送请求,因为我的代码有问题。断点在failure方法中可能无法正常工作,因为没有可中断的代码行。尝试放置
错误。printStackTrace()在您的
故障
方法中,查看您在日志中看到的内容谢谢,这很有效。我有代码为200的响应,但我需要JSON字符串作为响应,但我的strObject=”“。请求完全正确。有什么不对劲吗?这是另一个问题,似乎我对主要问题的回答是正确的。这取决于您收到响应时的数据格式。您应该定义描述响应中JSON数据的POJO对象,并在回调接口中使用该对象。
 retrofit.RetrofitError: WayfAPI.getFriendsLocation: @Field parameters can only be used with form encoding. (parameter #1)
@FormUrlEncoded
@POST("/api/geo/getLoc")
public void getFriendsLocation(@Field("Id") int Id, @Field("Number") String Number, @Field("FriendNumber") String FriendNumber, Callback<JsonElement> response);