org.springframework.http.converter.json.MappingJacksonValue#setJsonpFunction ( )源码实例Demo

下面列出了org.springframework.http.converter.json.MappingJacksonValue#setJsonpFunction ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: learning-taotaoMall   文件: UserController.java
@RequestMapping("/token/{token}")
public Object getUserByToken(@PathVariable String token, String callback) {
	TaotaoResult result = null;
	try {
		result = userService.getUserByToken(token);
	} catch (Exception e) {
		e.printStackTrace();
		result = TaotaoResult.build(500, ExceptionUtil.getStackTrace(e));
	}

	//判断是否为jsonp调用
	if (StringUtils.isBlank(callback)) {
		return result;
	} else {
		MappingJacksonValue mappingJacksonValue = new MappingJacksonValue(result);
		mappingJacksonValue.setJsonpFunction(callback);
		return mappingJacksonValue;
	}

}
 
源代码2 项目: lams   文件: MappingJackson2JsonView.java
@Override
protected Object filterAndWrapModel(Map<String, Object> model, HttpServletRequest request) {
	Object value = super.filterAndWrapModel(model, request);
	String jsonpParameterValue = getJsonpParameterValue(request);
	if (jsonpParameterValue != null) {
		if (value instanceof MappingJacksonValue) {
			((MappingJacksonValue) value).setJsonpFunction(jsonpParameterValue);
		}
		else {
			MappingJacksonValue container = new MappingJacksonValue(value);
			container.setJsonpFunction(jsonpParameterValue);
			value = container;
		}
	}
	return value;
}
 
源代码3 项目: lams   文件: AbstractJsonpResponseBodyAdvice.java
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType,
		MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) {

	HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();

	for (String name : this.jsonpQueryParamNames) {
		String value = servletRequest.getParameter(name);
		if (value != null) {
			if (!isValidJsonpQueryParam(value)) {
				if (logger.isDebugEnabled()) {
					logger.debug("Ignoring invalid jsonp parameter value: " + value);
				}
				continue;
			}
			MediaType contentTypeToUse = getContentType(contentType, request, response);
			response.getHeaders().setContentType(contentTypeToUse);
			bodyContainer.setJsonpFunction(value);
			break;
		}
	}
}
 
@Override
protected Object filterAndWrapModel(Map<String, Object> model, HttpServletRequest request) {
	Object value = super.filterAndWrapModel(model, request);
	String jsonpParameterValue = getJsonpParameterValue(request);
	if (jsonpParameterValue != null) {
		if (value instanceof MappingJacksonValue) {
			((MappingJacksonValue) value).setJsonpFunction(jsonpParameterValue);
		}
		else {
			MappingJacksonValue container = new MappingJacksonValue(value);
			container.setJsonpFunction(jsonpParameterValue);
			value = container;
		}
	}
	return value;
}
 
@Override
protected void beforeBodyWriteInternal(MappingJacksonValue bodyContainer, MediaType contentType,
		MethodParameter returnType, ServerHttpRequest request, ServerHttpResponse response) {

	HttpServletRequest servletRequest = ((ServletServerHttpRequest) request).getServletRequest();

	for (String name : this.jsonpQueryParamNames) {
		String value = servletRequest.getParameter(name);
		if (value != null) {
			if (!isValidJsonpQueryParam(value)) {
				if (logger.isDebugEnabled()) {
					logger.debug("Ignoring invalid jsonp parameter value: " + value);
				}
				continue;
			}
			MediaType contentTypeToUse = getContentType(contentType, request, response);
			response.getHeaders().setContentType(contentTypeToUse);
			bodyContainer.setJsonpFunction(value);
			break;
		}
	}
}
 
源代码6 项目: onetwo   文件: ExtJackson2HttpMessageConverter.java
protected Object filterAndWrapModel(Object value, HttpOutputMessage outputMessage, HttpServletRequest request) {
	String jsonpParameterValue = getJsonpParameterValue(request);
	if (jsonpParameterValue != null) {
		if (value instanceof MappingJacksonValue) {
			((MappingJacksonValue) value).setJsonpFunction(jsonpParameterValue);
		}
		else {
			MappingJacksonValue container = new MappingJacksonValue(value);
			container.setJsonpFunction(jsonpParameterValue);
			value = container;
		}
		outputMessage.getHeaders().setContentType(MediaType.parseMediaType("application/javascript"));
	}
	if (value instanceof Optional) {
		Optional<?> opt = (Optional<?>) value;
		value = opt.orElse(null);
	}
	return value;
}
 
源代码7 项目: zheng   文件: AliyunOssController.java
/**
 * 签名生成
 * @param callback 跨域请求
 * @return
 */
@GetMapping("/policy")
@ResponseBody
//@CrossOrigin(origins = "*", methods = RequestMethod.GET) // 该注解不支持JDK1.7
public Object policy(@RequestParam(required = false) String callback) {
	JSONObject result = aliyunOssService.policy();
	if (StringUtils.isBlank(callback)) {
		return result;
	}
	MappingJacksonValue jsonp = new MappingJacksonValue(result);
	jsonp.setJsonpFunction(callback);
	return jsonp;
}