拦截非字符串型参数取值

拦截非字符串型参数取值

【1】 准备枚举类:

@Getter
@AllArgsConstructor
public enum QualificationType {

    LEGAL_IDENTITY_CARD_FRONT("LEGAL_IDENTITY_CARD_FRONT", 2, "法人身份证(正)"),

    LEGAL_IDENTITY_CARD_BACK("LEGAL_IDENTITY_CARD_BACK", 3, "法人身份证(反)"),

    BUSINESS_LICENSE("BUSINESS_LICENSE", 1, "营业执照证"),

    AGENT_IDENTIFY_CARD_FRONT("AGENT_IDENTIFY_CARD_FRONT", 4, "代理人身份证(正)"),

    AGENT_IDENTIFY_CARD_BACK("AGENT_IDENTIFY_CARD_BACK", 5, "代理人身份证(反)"),

    AGENT_ATTORNEY("AGENT_ATTORNEY", 6 ,"代理委托书"),
    ;


    /**
     * 资质信息枚举Map
     */
    public static Map<String, String> qualificationMap;

    static {
        qualificationMap = new LinkedHashMap<>();
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_FRONT.code, QualificationType.LEGAL_IDENTITY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_BACK.code, QualificationType.LEGAL_IDENTITY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.BUSINESS_LICENSE.code, QualificationType.BUSINESS_LICENSE.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_FRONT.code, QualificationType.AGENT_IDENTIFY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_BACK.code, QualificationType.AGENT_IDENTIFY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.AGENT_ATTORNEY.code, QualificationType.AGENT_ATTORNEY.desc);
    }

    private String code;

    private Integer num;

    private String desc;

    /**
     * 根据宝付订单状态映射
     */
    public static QualificationType mappingByNum(Integer num) {
        for(QualificationType qualificationType : QualificationType.values()){
            if(qualificationType.getNum().equals(num)){
                return qualificationType;
            }
        }
        return null;
    }

}

【2】构建资质枚举信息Map

    /**
     * 资质信息枚举Map
     */
    public static Map<String, String> qualificationMap;

    static {
        qualificationMap = new LinkedHashMap<>();
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_FRONT.code, QualificationType.LEGAL_IDENTITY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.LEGAL_IDENTITY_CARD_BACK.code, QualificationType.LEGAL_IDENTITY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.BUSINESS_LICENSE.code, QualificationType.BUSINESS_LICENSE.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_FRONT.code, QualificationType.AGENT_IDENTIFY_CARD_FRONT.desc);
        qualificationMap.put(QualificationType.AGENT_IDENTIFY_CARD_BACK.code, QualificationType.AGENT_IDENTIFY_CARD_BACK.desc);
        qualificationMap.put(QualificationType.AGENT_ATTORNEY.code, QualificationType.AGENT_ATTORNEY.desc);
    }

【3】枚举类通过map转为list

 /**
     * 枚举类通过map转为list
     * @param map         map集合
     * @return           资质信息集合
     */
    private List<DirQualification> transferEnumMapToList(Map<String,String> map){
        List<DirQualification> dirQualificationList = new ArrayList<>();

        Iterator<Map.Entry<String, String>> entries = map.entrySet().iterator();
        while (entries.hasNext()) {
            Map.Entry<String, String> entry = entries.next();
            DirQualification dirQualification = new DirQualification();
            dirQualification.setCode(entry.getKey());
            dirQualification.setDesc(entry.getValue());
            dirQualificationList.add(dirQualification);
        }
      return  dirQualificationList;
    }

【4】判断枚举Map中是否含有请求参数值

 boolean contains = map.containsKey(key); 
该方法判断Map集合对象中是否包含指定的键名。如果Map集合中包含指定的键名,则返回true,否则返回false。

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些关于使用Spring Boot拦截器统一处理字符串的建议。在Spring Boot应用程序,您可以实现自定义拦截器,并将其应用于您的控制器请求。这允许您在处理请求之前或之后执行某些操作,例如处理字符串。 要编写一个拦截器,请实现Spring的HandlerInterceptor接口,并在您的配置类注册它。您可以在preHandle()方法处理请求,并使用response.getWriter().write()方法将处理后的字符串写入响应。 例如,以下代码演示了如何编写一个简单的拦截器来处理控制器请求字符串: ```java public class StringInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String inputString = request.getParameter("inputString"); String outputString = // 处理字符串逻辑 response.getWriter().write(outputString); return false; } } ``` 然后,在您的Spring Boot应用程序,您可以将该拦截器注册为一个Bean: ```java @Configuration public class AppConfig implements WebMvcConfigurer { @Bean public StringInterceptor stringInterceptor() { return new StringInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(stringInterceptor()); } } ``` 当您的控制器请求具有名为“inputString”的参数时,该拦截器将处理该字符串并将处理后的结果写入响应。 希望这些信息可以对您有所帮助。如果您有任何其他问题,请随时问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值