2016-06-02 25 views
0

VolleyフレームワークのPostメソッドを使用してカスタムオブジェクトをサーバー側に送信しようとしています。私はgetBodyメソッドをオーバーロードする必要があります知っている。しかし、ボディコンテンツタイプとして何を指定する必要がありますか? getBody()およびgetBodyContentType()メソッドのコードは私の日を節約します。AndroidでVolleyを使用してポストメソッドでカスタムオブジェクトを送信する

これは私のモデルクラスです:サーバー側で

package ar.sample.model; 

import java.sql.Timestamp; 

public class Location { 

private Integer id; 

private String locationName; 

private Double latitude; 

private Double longitude; 

private Float radius; 

private String logicalGroup; 

private String parentLocation; 

private String country; 

private String city; 

private String type; 

private String description; 

private Integer status; 

private Timestamp createdTime; 

private Timestamp updatedTime; 

private String createdByUser; 

private String updatedByUser; 

public Integer getId() { 
    return id; 
} 

public void setId(Integer id) { 
    this.id = id; 
} 

public String getLocationName() { 
    return locationName; 
} 

public void setLocationName(String locationName) { 
    this.locationName = locationName; 
} 

public Double getLatitude() { 
    return latitude; 
} 

public void setLatitude(Double latitude) { 
    this.latitude = latitude; 
} 

public Double getLongitude() { 
    return longitude; 
} 

public void setLongitude(Double longitude) { 
    this.longitude = longitude; 
} 

public Float getRadius() { 
    return radius; 
} 

public void setRadius(Float radius) { 
    this.radius = radius; 
} 

public String getLogicalGroup() { 
    return logicalGroup; 
} 

public void setLogicalGroup(String logicalGroup) { 
    this.logicalGroup = logicalGroup; 
} 

public String getParentLocation() { 
    return parentLocation; 
} 

public void setParentLocation(String parentLocation) { 
    this.parentLocation = parentLocation; 
} 

public String getCountry() { 
    return country; 
} 

public void setCountry(String country) { 
    this.country = country; 
} 

public String getCity() { 
    return city; 
} 

public void setCity(String city) { 
    this.city = city; 
} 

public String getType() { 
    return type; 
} 

public void setType(String type) { 
    this.type = type; 
} 

public String getDescription() { 
    return description; 
} 

public void setDescription(String description) { 
    this.description = description; 
} 

public Integer getStatus() { 
    return status; 
} 

public void setStatus(Integer status) { 
    this.status = status; 
} 

public Timestamp getCreatedTime() { 
    return createdTime; 
} 

public void setCreatedTime(Timestamp createdTime) { 
    this.createdTime = createdTime; 
} 

public Timestamp getUpdatedTime() { 
    return updatedTime; 
} 

public void setUpdatedTime(Timestamp updatedTime) { 
    this.updatedTime = updatedTime; 
} 

public String getCreatedByUser() { 
    return createdByUser; 
} 

public void setCreatedByUser(String createdByUser) { 
    this.createdByUser = createdByUser; 
} 

public String getUpdatedByUser() { 
    return updatedByUser; 
} 

public void setUpdatedByUser(String updatedByUser) { 
    this.updatedByUser = updatedByUser; 
} 

@Override 
public String toString() { 
    return Objects.toStringHelper(this) 
      .add("id", id) 
      .add("locationName", locationName) 
      .add("latitude", latitude) 
      .add("longitude", longitude) 
      .add("radius", radius) 
      .add("logicalGroup", logicalGroup) 
      .add("parentLocation", parentLocation) 
      .add("country", country) 
      .add("city", city) 
      .add("type", type) 
      .add("description", description) 
      .add("status", status) 
      .add("createdTime", createdTime) 
      .add("updatedTime", updatedTime) 
      .add("createdByUser", createdByUser) 
      .add("updatedByUser", updatedByUser) 
      .toString(); 
} 

} 

私のコードは次のとおりです。

@RequestMapping(value = "/location", method = RequestMethod.POST) 
public Location createLocationComplete(@RequestBody @Valid Location  location) { 
    LOGGER.debug("API: Create {}", location); 
    //location = composeLocation(location); 
    return locationService.insert(location); 
} 

バレーボールフレームワークを使用して、POSTメソッドを介してロケーション・オブジェクトを送信するためにどのように?

+0

あなたがボレーを使用してアンドロイドからサーバーに値を送信したいですか? –

+0

@ YounasBangash:そうです。 – Abhishek

+0

あなたはこれらのパラメータをphpで受け取りたいですか? –

答えて

0

あなたはこの方法でボレー要求を行うことができます - >

String url = ""; 
RequestQueue queue = Volley.newRequestQueue(this); 
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, 
     new Response.Listener<String>() { 
      @Override 
      public void onResponse(String response) { 
       // You will get the response here 
      } 
     }, 
     new Response.ErrorListener() { 
      @Override 
      public void onErrorResponse(VolleyError error) { 
       // You will get error here 
      } 
     } 
){ 
    @Override 
    protected Map<String, String> getParams() throws AuthFailureError { 
     Map<String,String> map = new HashMap<>(); 
     map.put("parameter",STRING_VALUE); // Set the parameter and the value which has been passing to your server here. 
     return map; 
    } 
}; 
queue.add(stringRequest); 
+0

お返事ありがとうございます。しかし、サーバー側では@RequestBodyを使用しています。私はその質問にコードを貼り付けました。パラメータを渡すことは役に立ちますか? – Abhishek

+0

サーバー側からの受信者データは何ですか? –

+0

public Location createLocationComplete(@RequestBody @Validロケーションの場所){ LOGGER.debug( "API:Create {}"、場所); // location = composeLocation(location); return locationService.insert(location); } – Abhishek

関連する問題