working not form csp cloak angularjs jersey jax-rs

angularjs - not - init angular js



Objeto de publicaciĆ³n JS angular para Jersey es nulo (1)

Estoy tratando de publicar mis datos de formulario en mi servicio de descanso usando js angulares y jersey. Sin embargo, el frijol recibido en el servicio de descanso es nulo. A continuación está mi código angular para la solicitud POST.

(function() { var dataUrls = { addSurveyUrl : ''/CompanySurveyPortal/Company/Surveys/addSurvey'' } angular.module(''addNewSurvey'', []).service(''addSurveyDataService'', function($http) { this.addNewSurvey = function(survey) { return $http.post(dataUrls.addSurveyUrl, {"surveyId": survey.surveyId, "title": survey.question, "choice1": survey.firstOption, "choice2": survey.secondOption ,"status": ''Open''}); }; }) .controller(''AddNewSurveyController'', function($scope, $log, responseDataService, $stateParams, $state, $filter, $rootScope, addSurveyDataService){ this.survey = {}; this.addSurvey = function(){ addSurveyDataService.addNewSurvey(this.survey); }; function init(){ } init(); }) })();

Los datos del formulario se llenan con éxito en la declaración $ http.post. Sin embargo, el bean en el método para consumir la solicitud es nulo cada vez.

@POST @Path("addSurvey") @Produces(MediaType.TEXT_HTML) @Consumes(MediaType.APPLICATION_JSON) public void addNewSurvey(@BeanParam Survey survey, @Context HttpServletResponse servletResponse) throws IOException, SQLException { SurveyDao surveyDao = new SurveyDao(); surveyDao.addSurvey(survey); }


El principal problema que veo es el uso incorrecto de @BeanParam . Esto solo debe usarse para casos en los que desee combinar diferentes params anotados @XxxParam en un POJO, como

public class Survey { @FormParam("id") public String id; @FormParam("title") public String title; }

Entonces @BeanParam funcionaría, dado que los datos realmente vienen en application/x-www-form-urlencoded . Pero su solicitud en realidad está entrando como JSON, lo que significa que la solicitud no se está convirtiendo en la Survey

Si simplemente elimina @BeanParam , y tiene un proveedor JSON registrado, debería funcionar.