精华内容
下载资源
问答
  • code: if hasattr(self.account_product_code, 'to_alipay_dict'): params['account_product_code'] = self.account_product_code.to_alipay_dict() else: params['account_product_code'] = self.account_product_...

    当前使用的sdk是支付宝python的sdk,该问题的原因是sdk有问题,需要修改sdk内容

    文件位置: 你的python路径/lib/python2.7/site-packages/alipay/aop/api/domain/AlipayFundAccountQueryModel.py

    原文件内容:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import json
    
    from alipay.aop.api.constant.ParamConstants import *
    
    
    class AlipayFundAccountQueryModel(object):
    
        def __init__(self):
            self._account_product_code = None
            self._alipay_user_id = None
            self._merchant_user_id = None
    
        @property
        def account_product_code(self):
            return self._account_product_code
    
        @account_product_code.setter
        def account_product_code(self, value):
            self._account_product_code = value
        @property
        def alipay_user_id(self):
            return self._alipay_user_id
    
        @alipay_user_id.setter
        def alipay_user_id(self, value):
            self._alipay_user_id = value
        @property
        def merchant_user_id(self):
            return self._merchant_user_id
    
        @merchant_user_id.setter
        def merchant_user_id(self, value):
            self._merchant_user_id = value
    
    
        def to_alipay_dict(self):
            params = dict()
            if self.account_product_code:
                if hasattr(self.account_product_code, 'to_alipay_dict'):
                    params['account_product_code'] = self.account_product_code.to_alipay_dict()
                else:
                    params['account_product_code'] = self.account_product_code
            if self.alipay_user_id:
                if hasattr(self.alipay_user_id, 'to_alipay_dict'):
                    params['alipay_user_id'] = self.alipay_user_id.to_alipay_dict()
                else:
                    params['alipay_user_id'] = self.alipay_user_id
            if self.merchant_user_id:
                if hasattr(self.merchant_user_id, 'to_alipay_dict'):
                    params['merchant_user_id'] = self.merchant_user_id.to_alipay_dict()
                else:
                    params['merchant_user_id'] = self.merchant_user_id
            return params
    
        @staticmethod
        def from_alipay_dict(d):
            if not d:
                return None
            o = AlipayFundAccountQueryModel()
            if 'account_product_code' in d:
                o.account_product_code = d['account_product_code']
            if 'alipay_user_id' in d:
                o.alipay_user_id = d['alipay_user_id']
            if 'merchant_user_id' in d:
                o.merchant_user_id = d['merchant_user_id']
            return o
    
    
    

    修改后的文件内容:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import json
    
    from alipay.aop.api.constant.ParamConstants import *
    
    
    class AlipayFundAccountQueryModel(object):
    
        def __init__(self):
            self._account_product_code = None
            self._alipay_user_id = None
            self._merchant_user_id = None
    
        @property
        def account_product_code(self):
            return self._account_product_code
    
        @account_product_code.setter
        def account_product_code(self, value):
            self._account_product_code = value
        @property
        def alipay_user_id(self):
            return self._alipay_user_id
    
        @alipay_user_id.setter
        def alipay_user_id(self, value):
            self._alipay_user_id = value
        @property
        def merchant_user_id(self):
            return self._merchant_user_id
    
        @merchant_user_id.setter
        def merchant_user_id(self, value):
            self._merchant_user_id = value
    
    
        def to_alipay_dict(self):
            params = dict()
            # if self.account_product_code:
            #     if hasattr(self.account_product_code, 'to_alipay_dict'):
            #         params['account_product_code'] = self.account_product_code.to_alipay_dict()
            #     else:
            #         params['account_product_code'] = self.account_product_code
            if self.alipay_user_id:
                if hasattr(self.alipay_user_id, 'to_alipay_dict'):
                    params['alipay_user_id'] = self.alipay_user_id.to_alipay_dict()
                else:
                    params['alipay_user_id'] = self.alipay_user_id
            # if self.merchant_user_id:
            #     if hasattr(self.merchant_user_id, 'to_alipay_dict'):
            #         params['merchant_user_id'] = self.merchant_user_id.to_alipay_dict()
            #     else:
            #         params['merchant_user_id'] = self.merchant_user_id
            params['account_type'] = 'ACCTRANS_ACCOUNT'
            return params
    
        @staticmethod
        def from_alipay_dict(d):
            if not d:
                return None
            o = AlipayFundAccountQueryModel()
            if 'account_product_code' in d:
                o.account_product_code = d['account_product_code']
            if 'alipay_user_id' in d:
                o.alipay_user_id = d['alipay_user_id']
            if 'merchant_user_id' in d:
                o.merchant_user_id = d['merchant_user_id']
            return o
    
    
    
    

     

    展开全文
  • alert("账号不能为空!"); form.account.focus(); //聚焦到文本框中 return false; } else if(form.password.value==""){ alert("密码不能为空!"); form.password.focus(); return false;...
  • 思路Controller层有两种校验场景单个参数的校验// 用户登录 Controller 方法@PostMapping("/login")public Message login(String...}实体类的校验实体类User里,有多个字段需要校验,比如用户名不能为空,密码不能为...

    思路

    Controller层有两种校验场景

    单个参数的校验

    // 用户登录 Controller 方法

    @PostMapping("/login")

    public Message login(String verifyCode,String account,String password){

    //....

    return null;

    }

    实体类的校验

    实体类User里,有多个字段需要校验,比如用户名不能为空,密码不能为空等等

    // 添加用户 Controller 方法

    @PostMapping("/add")

    public Message addUser(User user){

    //....

    return null;

    }

    下面介绍GET参数校验的实现方法。

    环境

    注意,Spring boot 内已经集成了Hibernate validator

    Spring boot

    Hibernate validator

    lombok

    Hibernate 参数校验 - GET参数校验模式 的实现

    编写配置类

    package com.spz.demo.security.config;

    import lombok.extern.slf4j.Slf4j;

    import org.hibernate.validator.HibernateValidator;

    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

    import org.springframework.context.annotation.Bean;

    import org.springframework.context.annotation.Configuration;

    import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;

    import javax.validation.Validation;

    import javax.validation.Validator;

    import javax.validation.ValidatorFactory;

    /**

    * 配置 Hibernate 参数校验

    * 参考:https://blog.csdn.net/u010454030/article/details/53009327

    */

    @Slf4j(topic = "SYSTEM_LOG")//日志模块

    @Configuration

    @EnableAutoConfiguration

    public class ValidatorConfig {

    @Bean

    public MethodValidationPostProcessor methodValidationPostProcessor() {

    MethodValidationPostProcessor postProcessor = new MethodValidationPostProcessor();

    postProcessor.setValidator(validator());//快速校验,只要有错马上返回

    return postProcessor;

    }

    @Bean

    public Validator validator(){

    ValidatorFactory validatorFactory = Validation.byProvider( HibernateValidator.class )

    .configure()

    .addProperty( "hibernate.validator.fail_fast", "true" )

    .buildValidatorFactory();

    Validator validator = validatorFactory.getValidator();

    return validator;

    }

    }

    编写验证错误信息提示

    校验未通过时,将抛出ConstraintViolationException异常,此时需要在异常处理方法里获取错误信息,并进行返回

    package com.spz.demo.security.config;

    import com.spz.demo.security.bean.Message;

    import org.springframework.http.HttpStatus;

    import org.springframework.stereotype.Component;

    import org.springframework.web.bind.annotation.ControllerAdvice;

    import org.springframework.web.bind.annotation.ExceptionHandler;

    import org.springframework.web.bind.annotation.ResponseBody;

    import org.springframework.web.bind.annotation.ResponseStatus;

    import javax.validation.ConstraintViolation;

    import javax.validation.ConstraintViolationException;

    import javax.validation.ValidationException;

    import java.util.Set;

    @ControllerAdvice

    @Component

    public class GlobalExceptionHandler {

    /**

    * hibernate 参数校验出错会抛出 ConstraintViolationException 异常

    * 在此方法中处理,将错误信息输出

    * @param exception

    * @return

    */

    @ExceptionHandler

    @ResponseBody

    @ResponseStatus(HttpStatus.BAD_REQUEST)

    public Object handle(ValidationException exception) {

    String errorInfo = "";

    if(exception instanceof ConstraintViolationException){

    ConstraintViolationException exs = (ConstraintViolationException) exception;

    Set> violations = exs.getConstraintViolations();

    for (ConstraintViolation> item : violations) {

    errorInfo = errorInfo + "[" + item.getMessage() + "]";

    }

    }

    return new Message().setErrorMessage(errorInfo);

    }

    }

    Message类是包装请求返回,一般在Controller层使用,用于返回json格式数据

    package com.spz.demo.security.bean;

    import com.fasterxml.jackson.annotation.JsonInclude;

    import com.spz.demo.security.common.MessageCode;

    import lombok.Data;

    import java.io.Serializable;

    import java.util.HashMap;

    import java.util.Map;

    /**

    * 请求响应Bean

    * 使用JSON包装请求返回,使用jackson库

    *

    * @author spz

    */

    @Data

    @JsonInclude(JsonInclude.Include.NON_NULL)

    public class Message implements Serializable {

    private int code ;

    private String message ;

    private Map data = new HashMap();

    /**

    * 自定义返回

    * @param code

    * @param message

    * @return

    */

    public Message setMessage(int code, String message){

    this.code = code;

    this.message = message;

    return this;

    }

    /**

    * 返回成功

    * @return

    */

    public Message setSuccessMessage(){

    this.code = MessageCode.SUCCESS ;

    this.message = "操作成功" ;

    return this;

    }

    /**

    * 返回成功

    * @param message

    * @return

    */

    public Message setSuccessMessage(String message){

    this.code = MessageCode.SUCCESS ;

    this.message = message ;

    return this;

    }

    /**

    * 返回错误

    * @param message

    * @return

    */

    public Message setErrorMessage(String message){

    this.code = MessageCode.ERROR ;

    this.message = message ;

    return this;

    }

    /**

    * 返回警告

    * @param message

    * @return

    */

    public Message setWarnMessage(String message){

    this.code = MessageCode.WARN ;

    this.message = message ;

    return this;

    }

    /**

    * 返回未登录

    * @param message

    * @return

    */

    public Message setNoLoginMessage(String message){

    this.code = MessageCode.NO_LOGIN ;

    this.message = message ;

    return this;

    }

    /**

    * 返回没有权限

    * @param message

    * @return

    */

    public Message setPermissionDeniedMessage(String message){

    this.code = MessageCode.PERMISSION_DENIED ;

    this.message = message ;

    return this;

    }

    }

    Controller 层使用校验

    package com.spz.demo.security.controller;

    import com.spz.demo.security.bean.Message;

    import lombok.extern.slf4j.Slf4j;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.data.redis.core.StringRedisTemplate;

    import org.springframework.validation.annotation.Validated;

    import org.springframework.web.bind.annotation.PostMapping;

    import org.springframework.web.bind.annotation.RequestMapping;

    import org.springframework.web.bind.annotation.RestController;

    import javax.validation.constraints.NotEmpty;

    /**

    * 用户控制器

    *

    * @author spz

    */

    @Slf4j(topic = "USER_LOG")

    @RestController

    @RequestMapping("/user")

    @Validated//需要使用Hibernate非实体类参数校验,需要加入此注解

    public class UserController {

    @Autowired

    StringRedisTemplate redis;

    /**

    * 用户登录

    * @return

    */

    @PostMapping("/login")

    public Message login(@NotEmpty(message = "账号不能为空") String account,

    @NotEmpty(message = "密码不能为空") String password,

    @NotEmpty(message = "验证码不能为空") String verifyCode){

    //....

    return new Message().setSuccessMessage();

    }

    }

    使用时,发送用户登录请求,如果参数校验失败,将返回错误信息:

    {

    "code": 5000,

    "message": "[验证码不能为空]",

    "data": { }

    }

    Hibernate 参数校验 - 实体类校验模式的实现

    展开全文
  • //@NotNull(message = "ID不能为空") //@Size(max=19,message = "ID超过最大长度19") @TableId private String id; /** * 商户名称 */ //@Size(max=20,message = "商户名称超过最大长度20") @Excel...
  • 原因 关键点在@RequestParam注解 ...这个@RequestParam(“account”)代表需要获取到前端传来的参数里面必须需要有"account" ,且不能为空的。 解决方案 以上面的代码例子修改,在@RequestParam加入require=“flase”,

    原因

    关键点在@RequestParam注解
    比如:

    String test(@RequestParam("account") String acot){
            testService.testA(acot);
            return "lbwnb"
        }
    

    这个@RequestParam(“account”)代表需要获取到前端传来的参数里面必须需要有"account" ,且不能为空的。

    解决方案

    1. 以上面的代码例子修改,在@RequestParam加入require=“flase”,表示"account"能为空
    String test(@RequestParam(value="account",require=flase) String acot){
            testService.testA(acot);
            return "lbwnb"
        }
    
    1. 或者让前端将该"account"参数传过来。

    个人小总结

    其实这个错误一眼就知道哪里错了,但是本人是因为前端传参数时竟然将参数的小写写成大写了,导致说参数找不到而报错,记录一下吧!!!

    展开全文
  • Java代码 收藏代码 /** * 结果码定义 */ public enum ResponseEnum { SUCCESS("00", "请求成功!"), ...参数不能为空或不是正整数或不能为零"), ACCOUNT
    Java代码  收藏代码
    /**
    * 结果码定义
    */
    public enum ResponseEnum {

    SUCCESS("00", "请求成功!"),
    FAILURE("01", "网络繁忙,请稍后重试!"),
    NUMFAILURE("02","参数不能为空或不是正整数或不能为零"),
    ACCOUNTNOTEXIST("03","客户不存在"),
    OTP_VERIFY_FAIL("04","验证码验证失败"),
    OPEN_FAIL("05","开通旺财账户失败"),
    ACCOUNT_HAS_REGISTERED("06","账户已注册"),
    CALL_FAILURE("07","调用报错!"),
    RESULT_NULL("08","无返回数据!");

    private String code;

    private String message;

    // 构造方法
    private ResponseEnum(String code, String message) {
    this.code = code;
    this.message = message;
    }

    public String getCode() {
    return code;
    }

    public void setCode(String code) {
    this.code = code;
    }

    public String getMessage() {
    return message;
    }

    public void setMessage(String message) {
    this.message = message;
    }

    public static ResponseEnum getResponseEnumByCode(int code) {
    String codeStr = String.valueOf(code);
    for (ResponseEnum responseEnum : ResponseEnum.values()) {
    if (responseEnum.getCode().equals(codeStr)) {
    return responseEnum;
    }
    }
    return ResponseEnum.SUCCESS;
    }

    }
    输出对象定义
    Java代码 收藏代码
    import java.util.HashMap;
    import java.util.Map;


    /**
    * 返回值统一对象
    */
    public class ResponseData {

    public static final String CODE_KEY = "CODE";
    public static final String MSG_KEY = "MSG";
    public static final String DATA_KEY = "DATA";

    public static Map<String, Object> buildResponse(ResponseEnum responseEnum) {
    return buildResponse(responseEnum, null);
    }

    public static Map<String, Object> buildResponse(ResponseEnum responseEnum, Object data) {
    Map<String, Object> result = buildResponse(responseEnum.getCode(), responseEnum.getMessage());
    if (data != null) {
    result.put(DATA_KEY, data);
    }
    return result;
    }

    public static Map<String, Object> buildSuccessResponse(Object data) {
    return buildResponse(ResponseEnum.SUCCESS, data);
    }

    public static Map<String, Object> buildSuccessResponse() {
    return buildSuccessResponse(null);
    }

    public static Map<String, Object> buildFailResponseWithMsg(String msg) {
    return buildResponse(ResponseEnum.FAILURE.getCode(), msg);
    }

    public static Map<String, Object> buildFailResponse() {
    return buildResponse(ResponseEnum.FAILURE);
    }

    public static Map<String, Object> buildResponse(String code, String msg) {
    final Map<String, Object> result = new HashMap<String, Object>();
    result.put(CODE_KEY, code);
    result.put(MSG_KEY, msg);
    return result;
    }
    }
    展开全文
  • paramNoValueAdd: 参数为空时是否要在接口传这个参数, } */ var Class = { create: function () { return function () { this.initialize.apply(this, arguments) } } }; Object.extend = function ...
  • 这一点是非常必要的,因为一个基于趋势的交易系统是不能成功交易在盘整(sideways trends),也不能识别市场的回调(setbacks)和逆转(reversals.,反向走势)!当然,你可以采用两个ATS,一个基于“趋势”,一个基于“反...
  • * method不能为空且只能是MethodEnum中对应的枚举值value */ @EnumValue(MethodEnum.class) @NotNull private Integer method; @NotBlank private String description; /** * status只能是StatusEnum中...
  • // 这边addAttribute不能为空,否则出错。所以做个标志是android手机创建的吧!!!!! PacketFilter filter = new AndFilter(new PacketIDFilter(reg.getPacketID()), new PacketTypeFilter(IQ.class)); ...
  • 9、修正仓库部份特殊情况下不能取出物品问题 7、增加装备属性转移功能,必须更新最新的Prguse.pak补丁,详请见帮助文档 //衣服武器特效补丁 支持的补丁文件 数据库Anicount起始编号 每个600张图片 Data\HumEffect...
  • windows实用dos命令大全

    2010-12-10 21:27:35
    若不选用/S参数,则格式化后的磙盘只能读写信息,而不能启动盘;  (4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;  (5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌...
  • =密码不能为空! ;网络管理 Network Management=网络管理 Network Type:=默认连接: Ethernet=有线连接 PPPOE=拨号连接 WIFI=无线连接 User ID:=用户名: Passwd:=密码: Search=搜索 Connect=连接 ID:=帐号: SSID:=...
  • 79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 80. services.msc---本地服务设置 81. Sndvol32-------音量控制程序 82. sfc.exe--------系统文件检查器 83. sfc /scannow---...
  • 修正 表单输入项不能对空格进行有效验证的问题,感谢 网友之家 提交问题 修正 表单复选项不能进行空值验证的问题,感谢 大舟山网 提交问题 修正 表单复选项没有进行选值范围验证的问题,感谢 大舟山网 提交问题 ...
  •  最新的vsftpd要求对主目录不能有写的权限所以ftp755,主目录下面的子目录再设置777权限 mkdir /data/ftp chmod -R 755 /data chmod -R 777 /data/ftp [root@ftp data]# ls -ld /data/ drwxr-xr-x 3 root root ...
  • = null) {// 判断不为空跳转 System.out.println("返回"); modelAndView.addObject(list); return modelAndView; } else { return modelAndView; } } } ``` 这个是接口 ``` public interface ...
  • 千里马酒店前台管理系统V7使用手册

    热门讨论 2011-06-16 14:09:38
    千里马V7.2采用MS-SQL SERVER 2000数据库系统,并充分利用了数据索引、查询优化、穿透查询等技术,酒店业务处理提供了很好的稳定性和性能,保证了酒店在业务繁忙时段和高数据吞吐量时仍使电脑系统的运作保持畅通...
  • MyBatis 传参错误……

    2017-09-30 08:41:55
    = null) {// 判断不为空跳转 System.out.println("返回"); modelAndView.addObject(list); return modelAndView; } else { return modelAndView; } } } //service接口 public interface ...
  • 而且不能删除当前用户,如果删除的用户有数据对象,那么必须加上关键字cascade。 用法:drop user 用户名 [cascade] 四、 用户权限与角色 1. 权限 Oracle中权限主要分为两种,系统权限和实体权限。  系统权限:...
  • java认证所有课程

    2009-08-27 15:13:59
    - 尽管当前的JDK支持委托模型和JDK1.0事件模型,但不能混合使用JDK1.0和JDK1.1。 第五节 图形用户界面的行为 9.5.1 事件类型 我们已经介绍了在单一类型事件上下文中从组件接收事件的通用机制。事件类的层次结构图...
  • 总之实训结束的时候我觉得我可以一个人独立开发软件了,这让我感觉收获非常大,这奠定了后来我独立开发软件的基础,但是在写程序的时候也出现了很多问题,比如监听层处理业务比较小的时候能不能放到视图层里(后面写...
  • Linux FTP服务搭建

    2012-03-31 11:12:59
    匿名登录vsFTPd匿名服务器,登录名为anonymous,密码都为空: [root@localhost ~]# ftp 192.168.1.6 测试能否上传文件,输入!ls命令查看匿名用户拥有哪些文件: ftp>!ls 假设匿名用户在本机/var/tmp目录下有一个名...
  • 不能影响ods层正常执行的,假设有100个任务,我需要把100个工作流里的子任务禁止掉,然后在下线dw层任务;有没有考虑过这么多任务都是定时执行,修改工作流之后重新上线,...
  • 不能关闭数据库时,可以用startup force来完成数据库的关闭 先关闭数据库,再执行正常启动数据库命令 7、startup pfile=参数文件名 带初始化参数文件的启动方式 先读取参数文件,再按参数文件中的设置启动数据库...
  • Oracle事例

    2007-08-26 10:35:53
    sql> [account lock|unlock] [profile profilename|default]; <1>.查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 生成用户时指定缺省表空间 create user 用户名 ...
  • Java-PHP-C#

    2012-11-27 15:13:36
    还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么用户名写一个匹配模式: ^[_a-zA-Z0-9-]+$ 现在还不能允许句号的存在. 我们把它加上: ^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$ ...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

参数account不能为空