Я сейчас занимаюсь разработкой небольшого проекта в Angular JS
+ Java
, где пользователь регистрирует свою информацию в своем профиле с помощью rest webservice. Все работает нормально, кроме специального символа (Ä Ö Ü ä ö)
.
Java:
@POST
@Path("add_employee")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response addEmployee(MultipartFormDataInput input) {
try {
Map<String, List<InputPart>> formDataMap = input.getFormDataMap();
if (formDataMap != null && !formDataMap.isEmpty()) {
InputPart inputPart = formDataMap.get("EmployeeProxy").get(0);
ObjectMapper mapper = new ObjectMapper();
//receiving wrong json below=>
EmployeeProxy admbo = mapper.readValue(inputPart.getBodyAsString(), EmployeeProxy.class);
List<InputPart> profilePic = formDataMap.get("profilePic");
.
.
.
} else {
return Response.status(Response.Status.NOT_FOUND).build();
}
} catch (Exception ex) {
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
Угловой JS:
var fd = new FormData();
fd.append('EmployeeProxy', angular.copy(JSON.stringify($scope.empInfo)));
fd.append('profilePic', $scope.myFile);
$http.post(Server.url + 'add_employee', fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
}).then(function (response) {
});
Отправка Json: {"empName": "Ä Ö Ü ä ö", "empSurname": "XYZ", "emailId":
"Abc@gmail.com"}
Получение Json: {"empName": " ", "empSameame":
"XYZ", "emailId": "abc@gmail.com"}
Пожалуйста, найдите ниже изображение для информации заголовка запроса:
Это работает нормально, если я использую APPLICATION_JSON
без MULTIPART_FORM_DATA
.