I'am trying to work with reformation to parse custom json data with Gson to a localhost server using a REST API。
这是生成的json im正在寻找:
{
"user_id": 2,
"product": {
"id": 15,
"item_count": 99
}
}
下面是我创建的界面
public interface APIService {
@POST("/products")
@FormUrlEncoded
Call<Product> savePost(@Header("Token")String authKey,
@Field("product") Object product,
@Field("userId") String userId);
}
这是我用来发送数据的函数
// string that i use to call the classes
String userID;
String authKey;
mAPIService = ApiUtils.getAPIService();
mProduct = new Product();
mProduct.setId(productID);
mProduct.setItemCount(numberOfItems.getText().toString().trim());
final String stringMProduct = mProduct.toString();
sendPost(userID, stringMProduct, authKey);
// the function that parses all the data
public void sendPost( String userID, String product, String authKey ) {
mAPIService.savePost(authKey, userID, product).enqueue(new Callback<Product>() {
@Override
public void onResponse(Call<Product> call, retrofit2.Response<Product> response) {
if(response.isSuccessful()) {
showResponse(response.body().toString());
Log.i(TAG, "post submitted to API." + response.body().toString());
}
}
@Override
public void onFailure(Call<Product> call, Throwable t) {
Log.e(TAG, "Unable to submit post to API.");
}
});
}
这是我使用Gson将数据解析为json的类
public class OrderRequest {
@SerializedName("product")
@Expose
private Product product;
@SerializedName("user_id")
@Expose
private String userId;
public Product getProduct() {
return product;
}
public void setProduct(Product product) {
this.product = product;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Override
public String toString() {
return "OrderRequest{" +
"product=" + product +
", userId='" + userId + '\'' +
'}';
}
}
另一个Gcode类。
Public class Product {
@SerializedName("item_count")
@Expose
private String itemCount;
@SerializedName("id")
@Expose
private String id;
public String getItemCount() {
return itemCount;
}
public void setItemCount(String itemCount) {
this.itemCount = itemCount;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString() {
return "Product{" +
"itemCount='" + itemCount + '\'' +
", id='" + id + '\'' +
'}';
}
}
这是我用来解析数据到服务器的所有代码,我真的很困惑我应该如何调试它或者有效负载在哪里,我知道这是一个代码转储,这是不允许的。我最困惑的一点是让海关邮政请求您可以在数组中拥有数组的位
首先,您要修改的url是什么?看起来你的设定有点像。。"http://something.com/something“.Reformation要求您使用的url应以“/”结尾。我可以判断,因为您的发布方法是“/products”。如果您正确设置url,则会是”http://something.com/something//products"
不仅如此。@formURLEncoded不能与post方法一起使用。对于那个@field,它也会并且应该工作...
对于数组和其他类型的数据,您可以在请求体和服务器端发送数据,您可以轻松地将其映射到您正在创建的POJO类到POJO类,这与您正在发送的POJO类相同。
先生们,你能帮我改造吗?我正在尝试实施Post请求,但我不知道如何正确执行。 类SaleEvent与JsonArray“更新”中的json对象具有相同的字段问题是-我有复杂的响应,不容易为gson解析: 我需要的是在阵列列表中得到回应 就像这样 问题已解决:问题在于使用ArrayList而不是List
我有一个不能用Gson正确序列化的类(类只是name和HashMap),所以我编写了一个自定义序列化程序来从HashMap中打印名称和键值对。 此外,这是实际打印的内容,序列化整个对象并不像我所期望的那样工作,也不只是直接打印对象。 任何帮助都将不胜感激。
我已使用WebForms从VS-2019成功发布Azure应用服务。我已成功保护它,以便用户必须使用与应用服务相同域中的Azure AAD帐户登录。我已成功创建AzureSQL数据库。我已成功将AAD域中的用户添加到数据库中,并通过将我创建的Azure AAD帐户用户之一硬编码到连接字符串中,从Azure应用服务中连接到数据库。 现在,我想使用应用程序服务登录名中经过身份验证的AAD用户连接到Az
我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?
您好,我有这个代码,我想将此数据解析为对象,现在我得到了一个 anyType 的字符串 我想分别得到描述对象纬度对象和经度对象