我是靠谱客的博主 会撒娇棉花糖,最近开发中收集的这篇文章主要介绍Web相关工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


import lombok.AccessLevel;
import lombok.NoArgsConstructor;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import java.util.Optional;

import javax.annotation.Nullable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 描述:Web相关工具类
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class WebUtils {
    /**
     * 获取当前请求 request
     *
     * @return 当前请求对象 current request
     * @throws NullPointerException 该方法可能会返回 null 值
     */
    public static Optional<HttpServletRequest> getCurrentRequest() {
        var servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        return servletRequestAttributes == null ? Optional.empty() :
            Optional.of(servletRequestAttributes.getRequest());
    }

    /**
     * 获取当前请求 request
     *
     * @return 当前请求对象 current request
     * @throws NullPointerException 该方法可能会返回 null 值
     */
    public static Optional<HttpServletResponse> getCurrentResponse() {
        var servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
        return servletRequestAttributes == null ? Optional.empty()
            : Optional.ofNullable(servletRequestAttributes.getResponse());
    }
    /**
     * 获取当前请求的 url
     *
     * @return 如果不存在返回 null
     */
    @Nullable
    public static String getCurrentRequestUrl() {
        return getCurrentRequest().map(HttpServletRequest::getRequestURI).orElse(null);
    }

    /**
     * 获取当前请求的 header 头内容
     *
     * @return 如果不存在返回 null
     */
    @Nullable
    public static String getCurrentRequestHeader(String headerKey) {
        return getCurrentRequest().map((HttpServletRequest s) -> s.getHeader(headerKey)).orElse(null);
    }

}

 

最后

以上就是会撒娇棉花糖为你收集整理的Web相关工具类的全部内容,希望文章能够帮你解决Web相关工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部