«Ошибка сети: 415 неподдерживаемых типов носителей

#java #jquery #rest

#java #jquery #rest

Вопрос:

Я всегда получаю эту NetworkError: 415 Unsupported Media Type ошибку при попытке попасть в службу. Не могли бы некоторые взглянуть и сообщить мне, что не так.

Вот мое определение службы rest

 @POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes("application/json")
@Path("/searchPackage")
public JSONArray searchPackages(JSONObject obj) throws JSONException {
 

А вот клиентский код jquery.

 var description=$('#description').val().trim();
var jsonObject= {"searchAction":"search", "description":description);
var request = $.ajax({
  url: restServiceURL 'searchPackage',
  type: 'POST',
  contentType: 'application/json',
  data: jsonData,
  dataType : 'json',
  error: function(data) {
    console.log(data.responseText);
  }
}); 
 

Вот вывод из моего приложения.wadl

    <resource path="/searchPackage">
    <method id="searchPackages" name="POST">
    <request><representation mediaType="application/json"/></request>
    <response><representation mediaType="application/json"/></response>
   </method>
  </resource>
 

Комментарии:

1. Одна из возможностей заключается в том, что «restServiceURL ‘searchPackage'» отправляет вас в службу, отличную от той, которую вы хотите …. которая не понимает JSON.

2. Пожалуйста, отредактируйте свой вопрос, если вы хотите включить дополнительный код.

3. отредактировал мой вопрос. пожалуйста, проверьте

Ответ №1:

Используйте эту конфигурацию:

 data: JSON.stringify(jsonObject),
contentType: "application/json",
dataType: "json",