2017-10-18 5 views
0

Bonjour à la communauté J'ai commenté que j'utilise angulaire 1.6, et j'envoie un json avec des caractères spéciaux (-,), mais lors de la vérification dans le contrôleur, je suis déformé.Comment apporter des caractères spéciaux avec 1.6 angulaire et RestController (printemps)?

Service - angulaire

var json_ins = { ... } ; // special characters 
var data = encodeURIComponent(JSON.stringify(json_ins)); 
$http.get(VAR_CONTEXT+'/team/update?data=' + data).then(
    function (response) { 
     deferred.resolve(response); 
    }, 
    function (errResponse) { 
     console.error('Error: Service Users'); 
     deferred.reject(errResponse); 
    } 
); 

RestController

@RequestMapping(value = "/team/update", method = RequestMethod.GET) 
public String update(HttpServletRequest request, HttpServletResponse response, @QueryParam("data") String data) { 
    Gson gson = new Gson(); 
    JsonParser jsonParser = new JsonParser(); 
    JsonObject jResponse = new JsonObject(); 
    boolean success = true; 
    try { 
     Type detInscripcionType = new TypeToken<DetInscripcion>() {}.getType(); 
     DetInscripcion detInscripcion = new Gson().fromJson(data, detInscripcionType);    
     IntegranteBean integranteBean = inscripcionService.updateDetInscripcion(detInscripcion);    
     JsonObject jsonObject = (JsonObject) jsonParser.parse(gson.toJson(integranteBean)); 
     jResponse.add("data", jsonObject);    
    } catch (Exception e) { 
     LOGGER.error(e.getMessage(), e); 
     success = false; 
     jResponse.addProperty("message", "Error de Conexion."); 
    } 
    jResponse.addProperty("success", success); 
    return new Gson().toJson(jResponse); 
} 

J'espère que vous pouvez me aider, car en vérifiant les données variables, le caractère spécial vient à moi déformée.

+0

Voir si cela aide: https://stackoverflow.com/questions/5445990/get-parameter-encoding –

Répondre

0

Utilisez @RequestParam au lieu de @QueryParam.