2017-10-18 63 views
0

你好社区我评论说我使用的是角1.6,我发送一个带有特殊字符的json(- ,),但是当检查控制器时我会变形。如何使带角度1.6和RestController(弹簧)的特殊字符?

服务 - 角

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); 
} 

我希望你能帮助我,因为通过检查变量数据,特殊字符到我这里来扭曲。

+0

看看是否有帮助:https://stackoverflow.com/questions/5445990/get-parameter-encoding –

回答

0

使用@RequestParam而不是@QueryParam