Я использую в своем приложении volley. Мне нужно POST
одну форму на сервер с помощью Volley. Форма содержит несколько обязательных полей. Если эти поля размещены в форме JSON, она успешно отправлена, в противном случае возникает ошибка.
Это формат json, который мне нужно отправить
{
"email": "[email protected]",
"address": "IUDP",
"phone": "9898981212",
"salutation": "Mr.",
"firstname": "PQR",
"lastname": "WXY",
"city": "Pune",
"country": "India",
"zip": "411006"
}
Электронная почта или телефон являются обязательными полями. Если доступен только адрес электронной почты или только телефон, данные должны быть POST
успешно введены, и сервер не выдает ошибку. Если включены другие поля, все должно работать нормально.
Это мой json объект сообщения.
final JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("salutation",user_saluation);
jsonObject.put("firstname",first_name);
jsonObject.put("lastname",last_name);
jsonObject.put("email",user_email);
jsonObject.put("phone",user_phone);
jsonObject.put("address",user_address);
jsonObject.put("city",user_city);
jsonObject.put("country",user_country);
jsonObject.put("zip","411001");
} catch (JSONException e) {
e.printStackTrace();
}
это моя просьба
private void sendData() {
String url= AppConstants.service_url+AppConstants.service_port+AppConstants.rest_service_path+"users/";
final JSONObject jsonObject = new JSONObject();
try {
// JSONObject loginback=new JSONObject();
jsonObject.put("salutation",user_saluation);
jsonObject.put("firstname",first_name);
jsonObject.put("lastname",last_name);
jsonObject.put("email",user_email);
jsonObject.put("phone",user_phone);
jsonObject.put("address",user_address);
jsonObject.put("city",user_city);
jsonObject.put("country",user_country);
jsonObject.put("zip","411001");
} catch (JSONException e) {
e.printStackTrace();
}
JsonObjectRequest request=new JsonObjectRequest(Request.Method.POST, url,jsonObject, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
AppController.getInstance().addToRequestQueue(request,req);
}
}
}
Я назвал этот метод на прослушивателе нажатия кнопки
register.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sendData();
}
Итак, как включить только обязательные поля в почтовый запрос JSON или обязательные поля с некоторыми другими полями, если они доступны?