【发布时间】:2017-11-22 18:14:31
【问题描述】:
我想从 spring 控制器返回一个字符串(json 字符串)作为对它接收到的 AJAX 调用的响应,根据我是否提交了 @Valid 表单,响应可能会有所不同。这就是我处理它的方式,并想知道这是否被认为是最佳实践? 请注意我正在使用@RestController,所以@ResonseBody 应用所有方法。
@RequestMapping(value = "/save" , method = RequestMethod.POST)
public String saveScheduledAlert(@Valid ScheduledAlertForm scheduledAlertForm, BindingResult bindingResult) {
StringBuilder jsonString = new StringBuilder();
if(bindingResult.hasErrors()){
jsonString.append("{\"success\" : \"false\"");
for(ObjectError error : bindingResult.getAllErrors())
jsonString.append(",\"").append(((FieldError) error).getField()).append("\":\"").append(error.getDefaultMessage()).append("\"");
} else {
//save the data
jsonString.append("{\"success\" : \"true\"");
}
jsonString.append("}");
return jsonString.toString();
}
【问题讨论】:
-
@ResponseBody 注释? - stackoverflow.com/questions/28646332/…
-
我正在使用 @RestController 它是一个 Spring Boot 应用程序
标签: java json spring-mvc