org.springframework.web.bind.annotation.RequestHeader#required ( )源码实例Demo

下面列出了org.springframework.web.bind.annotation.RequestHeader#required ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/**
 * Build params parameter.
 *
 * @param parameterInfo the parameter info
 * @param components the components
 * @param requestMethod the request method
 * @param jsonView the json view
 * @return the parameter
 */
public Parameter buildParams(ParameterInfo parameterInfo, Components components,
		RequestMethod requestMethod, JsonView jsonView) {
	MethodParameter methodParameter = parameterInfo.getMethodParameter();
	RequestHeader requestHeader = parameterInfo.getRequestHeader();
	RequestParam requestParam = parameterInfo.getRequestParam();
	PathVariable pathVar = parameterInfo.getPathVar();
	CookieValue cookieValue = parameterInfo.getCookieValue();

	RequestInfo requestInfo;

	if (requestHeader != null) {
		requestInfo = new RequestInfo(ParameterIn.HEADER.toString(), parameterInfo.getpName(), requestHeader.required(),
				requestHeader.defaultValue());
		return buildParam(parameterInfo, components, requestInfo, jsonView);

	}
	else if (requestParam != null && !parameterBuilder.isFile(parameterInfo.getMethodParameter())) {
		requestInfo = new RequestInfo(ParameterIn.QUERY.toString(), parameterInfo.getpName(), requestParam.required() && !methodParameter.isOptional(),
				requestParam.defaultValue());
		return buildParam(parameterInfo, components, requestInfo, jsonView);
	}
	else if (pathVar != null) {
		requestInfo = new RequestInfo(ParameterIn.PATH.toString(), parameterInfo.getpName(), !methodParameter.isOptional(), null);
		return buildParam(parameterInfo, components, requestInfo, jsonView);
	}
	else if (cookieValue != null) {
		requestInfo = new RequestInfo(ParameterIn.COOKIE.toString(), parameterInfo.getpName(), cookieValue.required(),
				cookieValue.defaultValue());
		return buildParam(parameterInfo, components, requestInfo, jsonView);
	}
	// By default
	DelegatingMethodParameter delegatingMethodParameter = (DelegatingMethodParameter) methodParameter;
	if (RequestMethod.GET.equals(requestMethod)
			|| (parameterInfo.getParameterModel() != null && (ParameterIn.PATH.toString().equals(parameterInfo.getParameterModel().getIn())))
			|| delegatingMethodParameter.isParameterObject())
		return this.buildParam(QUERY_PARAM, components, parameterInfo, !methodParameter.isOptional(), null, jsonView);

	return null;
}
 
@Override
protected boolean isRequired(MethodParameter param, RequestHeader annot) {
    // Spring disallows null for primitive types
    // For types wrapped in Optional or nullable Kotlin types, the required flag in
    // the annotation is ignored by Spring.
    return param.getParameterType().isPrimitive() || (!param.isOptional() && annot.required());
}
 
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
	super(annotation.name(), annotation.required(), annotation.defaultValue());
}
 
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
	super(annotation.name(), annotation.required(), annotation.defaultValue());
}
 
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
	super(annotation.name(), annotation.required(), annotation.defaultValue());
}
 
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
	super(annotation.name(), annotation.required(), annotation.defaultValue());
}
 
@Override
protected boolean readRequired(RequestHeader requestHeader) {
  return requestHeader.required();
}
 
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
	super(annotation.name(), annotation.required(), annotation.defaultValue());
}
 
private RequestHeaderNamedValueInfo(RequestHeader annotation) {
	super(annotation.name(), annotation.required(), annotation.defaultValue());
}