2017-02-15 5 views
1

В API остальное сбой с 400 Bad с просьбой ниже ответREST API сбой с javax.xml.bind.JAXBException (400 Bad Request)

javax.xml.bind.JAXBException - со связанными за исключением: [org.codehaus.jettison.json.JSONException: текст JSONObject должен начинаться с '{' на символ 0 из]

Ниже мой код,

API ресурсов

@GET 
@Path("/getTeams") 
@Produces(MediaType.APPLICATION_JSON) 
public Response getTeamList(final TeamSearchRequest teamSearchRequest, @Context UriInfo uriInfo) { 
     //Business 
} 

Запрос класса

@XmlRootElement(name = "teamSearchRequest") 
public class TeamSearchRequest { 
    private String searchText; 
    private String searcherTeamId; 
    public TeamSearchRequest(){} 
//setters and getters 
} 

API URI - http://localhost:8080/letsplay/team/getTeams

API Request Body -

{ 
    "teamSearchRequest": { 
     "searchText": "Mumbai", 
     "searcherTeamId": "1" 
    } 
} 

Примечание - Я уже проверил все подобные вопросы в SO.

Любые предложения наиболее ценятся.

+0

У вас есть зависимость медиа-moxy, настроенная для вашего проекта, чтобы включить поддержку JSON? Предполагая, что вы используете Джерси .. – Prathap

+0

@Prathap, я использую Spring Rest Integration, а не Джерси, поэтому media-moxy неприменим. –

+0

Вы используете JSONObject для сопоставления значений запроса? Если это так, вы можете использовать 'JSONObject' как аргумент метода вместо' TeamSearchRequest', а затем выполнить 'jsonObject.getJSONObject (" teamSearchRequest ")', чтобы получить нужные значения. – Prathap

ответ

0

Я думаю, что ваш JSON ошибается. Он должен выглядеть так:

{ 

    "searchText": "Mumbai", 
    "searcherTeamId": "1" 

}