有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Post HashMap作为Android改造Post调用中的Post请求值

这里我想发送一个hashMap作为Post请求数据。 在我的发帖请求中,我必须发送如下数据:

{
  "dd98e151-3a57-45f5-b201-e7f5250bce8b": {
    "ratingid": "64d2fa13-bf17-4242-9106-c1a722cd1063",
    "compid": "dd98e151-3a57-45f5-b201-e7f5250bce8b",
    "avgrat": "4.00",
    "continue": " ",
    "improve": " ",
    "ratingindicators": [
      {
        "internalname": "c1",
        "name": "CI 1",
        "rating": "4"
      },
      {
        "internalname": "CI 3",
        "name": "CI 3 only ",
        "feedback": "text"
      },
      {
        "internalname": "I2",
        "name": "CI 2",
        "rating": "0"
      }
    ]
  },
"e6c6d37c-a9e6-491f-9f76-8375cee2096f": {
    "ratingid": "64d2fa13-bf17-4242-9106-c1a722cd1063",
    "compid": "dd98e151-3a57-45f5-b201-e7f5250bce8b",
    "avgrat": "4.00",
    "continue": " ",
    "improve": " ",
    "ratingindicators": [
      {
        "internalname": "c1",
        "name": "CI 1",
        "rating": "4"
      },
      {
        "internalname": "CI 3",
        "name": "CI 3 only ",
        "feedback": "text"
      },
      {
        "internalname": "I2",
        "name": "CI 2",
        "rating": "0"
      }
    ]
  }
} 

为了在API调用中发布这些数据,我创建了一个HashMap,比如

地图<;字符串,PostIndicatorModel>>;map=新的HashMap<;字符串,PostIndicatorModel>;();

这里是一个pojo/模型类

PostIndicatorsModel.java
public class FeeddbackPostIndicatorsModel {
    @SerializedName("ratingid")
    @Expose
    private String feedbackratingid;
    @SerializedName("compid")
    @Expose
    private String competencyid;
    @SerializedName("avgrat")
    @Expose
    private String avgrating;
    @SerializedName("continue")
    @Expose
    private String whattocontinue = "";
    @SerializedName("improve")
    @Expose
    private String whattoimprove = "";
    @SerializedName("ratingindicators")
    @Expose
    private List<Ratingindicator> ratingindicators = null;
     public String getRatingid() {
return ratingid;
}

public void setRatingid(String ratingid) {
this.ratingid = ratingid;
}

public String getCompid() {
return compid;
}

public void setCompid(String compid) {
this.compid = compid;
}

public String getAvgrat() {
return avgrat;
}

public void setAvgrat(String avgrat) {
this.avgrat = avgrat;
}

public String getContinue() {
return _continue;
}

public void setContinue(String _continue) {
this._continue = _continue;
}

public String getImprove() {
return improve;
}

public void setImprove(String improve) {
this.improve = improve;
}

public List<Ratingindicator> getRatingindicators() {
return ratingindicators;
}

public void setRatingindicators(List<Ratingindicator> ratingindicators) {
this.ratingindicators = ratingindicators;
}



    public static class Ratingindicator{

        @SerializedName("internalname")
        @Expose
        private String internalname;
        @SerializedName("name")
        @Expose
        private String name;
        @SerializedName("rating")
        @Expose
        private String rating;
        @SerializedName("feedback")
        @Expose
        private String feedback;

        public String getInternalname() {
            return internalname;
        }

        public void setInternalname(String internalname) {
            this.internalname = internalname;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getRating() {
            return rating;
        }

        public void setRating(String rating) {
            this.rating = rating;
        }

        public String getFeedback() {
            return feedback;
        }

        public void setFeedback(String feedback) {
            this.feedback = feedback;
        }

    }

}

请帮助我了解如何使用此HashMap调用post API

Map<String,PostIndicatorsModel>> map=new HashMap<String,PostIndicatorsModel>();

在API调用中

@FormUrlEncoded
    @POST(SURL.POST_INDICATORS)
    Call<PostIndicatorsModel> postRate360(@Path("rateId") String rateId, @Body Map<String,PostIndicatorsModel> post);

我尝试了@Body、@FeildMap、@QueryMap,但它显示了调用中的错误,或者服务器没有按照要求从post调用中获取数据

请帮助我理解我该如何做到这一点


共 (0) 个答案