Запрос Ajax не выполнен 500 внутренняя ошибка сервера - PullRequest
0 голосов
/ 01 января 2019

Я получил 500 внутренних ошибок сервера angualar ajax запрос.В Java настроена весна.

Java:

'@RequestMapping(method=RequestMethod.POST,value="setData")
    @ResponseBody
    public ModelClass setData(@RequestBody String value) {
        System.out.println("********** "+ value);
        ModelClass paramEntity = new ModelClass();
        paramEntity.setText(value);
        return paramEntity;
    }'

JS: $scope.setData=function(){ $http({ method:'POST', url:'setData', data:$scope.textValue }).then(function mySuccess(response) { console.log(response.data); }, function myError(response) { $scope.myWelcome = response.statusText; console.log("Exception"); }); }

1 Ответ

0 голосов
/ 01 января 2019

Вы используете @ResponseBody и возвращаете объект ModelClass.То, что вам нужно здесь, это MessageConverter.Например, вы можете использовать MappingJackson2MessageConverter , основанное на Jackson 2 внедрение MessageConverter:

<mvc:annotation-driven>
    <mvc:message-converters>
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper" ref="objectMapper"/>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

<bean id="objectMapper" class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
    ...
</bean>

ПРИМЕЧАНИЕ:

Также используйте элемент produces аннотации @RequestMapping в контроллере, чтобы указать типы воспроизводимых носителей отображенного запроса.Например, если вы хотите отправить ответ JSON:

@RequestMapping(produces = MediaType.APPLICATION_JSON_VALUE, ...)

Дополнительные сведения:

1.10.7. Message Converters из документации Spring Framework 5.1.3. RELEASE

...