springboot自定義註解轉換@RequestBody JSONField

[@Override](https://my.oschina.net/u/1162528)
public boolean supportsParameter(MethodParameter parameter) {
	if (parameter.hasParameterAnnotation(CurrentJson.class)) {
		return true;
	}
	return false;
}

[@Override](https://my.oschina.net/u/1162528)
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {
	String body = getRequestBody(webRequest);
	if (StringUtils.isBlank(body)) {
		return null;
	}
	return JsonUtils.getObject(body, parameter.getParameterType());
}

private String getRequestBody(NativeWebRequest webRequest) {
	HttpServletRequest servletRequest = webRequest.getNativeRequest(HttpServletRequest.class);
	try {
		return IOUtils.toString(servletRequest.getInputStream());
	} catch (Exception e) {
		e.printStackTrace();
	}
	return "";

}

返回 this.body = JSON.toJSON(body);web

相關文章
相關標籤/搜索