Я новичок в Angular, и в этом отношении Javascript, поэтому меня легко смущает, как все это работает вместе, и я могу использовать подсказку на эту загадку.У меня есть форма, которая имеет поля, которые могут быть пустыми при отправке POST.Я использую Джерси с @Nullable на полях, которые могут быть пустыми.Если я использую форму в первый раз, нулевые значения преобразуются в пустую строку.Если я повторно отправлю сообщение POST, они будут нулевыми.Почему?
Я могу настроить обработчики для обоих этих случаев, но я также вижу случай, когда после того, как он был пустым в первый раз, заполненное поле становится пустым во втором POST.Это намного хуже.
Что необходимо сбросить, чтобы все POST из формы имели одинаковое поведение?
Контроллер электронной почты:
'use strict';
angular.module('customerEmailApp')
.controller('customerEmailController', function ($scope, $rootScope, CustomerEmailService) {
$scope.payload = {
emailFrom: $rootScope.loggedInAdminUser.displayName,
emailTo: '',
subject: '',
htmlBody: ''
};
var toggleClickability = function () {
$scope.isDisabled = !$scope.isDisabled;
};
$scope.sendEmail = function (payload) {
toggleClickability();
CustomerEmailService.sendEmail(payload, function () {
toggleClickability();
});
};
});
Обслуживается этой службой
angular.module('customerEmailApp')
.factory('CustomerEmailService', function (appConfigPromise, $http, $window) {
return {
sendEmail: function (payload, onSuccess) {
return appConfigPromise.then(function (appConfig) {
return $http.post(appConfig.adminServiceEndpoint + '/email', payload);
}).then(function (response) {
if (response) {
onSuccess();
$window.alert('' + response.data);
}
})
.catch(function (reason) {
$window.alert('' + reason.status + '. ' + reason.statusText);
throw reason;
});
}
};
});
Десериализован с этим POJO
import javax.annotation.Nullable;
public class BatchMessage {
// This address must be verified with Amazon SES.
@Nullable
public String emailFrom;
@Nullable
public String emailTo;
// The subject line for the email.
public String subject;
// The HTML body for the email.
public String htmlBody;
public BatchMessage(){
}
}