2017-10-18 64 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