• 2018-6-1-采坑日记


    SpringMVC:

    1、查看方法的入参、出参说明,可以借助Swagger UI。

      --->尤其是查看请求入参中是否需要token。

    2、查找Controller中方法,使用接口URL搜索更加高效。

    3、常见服务响应类型

    public ServiceResponse<Map<String,String>> register(CustomerInfoBo customerInfo){
        try{
            if(customerInfo == null){
                return ServiceResponse.error("The register is error.");
            }else{
                Map<String,String> map =  registerService.register(customerInfo);
                return ServiceResponse.success(map);
                }    
            }catch(BusinessServiceException e){
                logger.error("The register is error.", e);
                return ServiceResponse.error(e.getMessage());
            }
        }

    ---> sccess与error方法入参类型可以定义不同,但是保证方法返回类型相同。

     4、console中异常信息是以堆栈形式提示。相互依赖的错误也是依赖提示。

    --->上面(前面)是上层应用的错误,下面(后面)是底层方法实现的错误,因此通过定位后面的错误,分析解决问题。

    eg:

    Error creating bean with name 'CustomerController': Unsatisfied dependency expressed through field 'registerCustomerService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'fRegisterCustomerServiceImpl': Unsatisfied dependency expressed through field 'tpsServiceClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.ton.remote.client.TpsServiceClient': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0

    5、Controller方法入参注解细节:

    @RequestParam()最好为参数命名,避免不必要的错误,且一个方法可以有多个RequestParm参数注解。

     eg:(@RequestParam(name="lid",defaultValue="ste") String id)

       ( @RequestParam("name") String name, @RequestParam("idType") String idType)

    未命名报错:java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0

    @RequestBody:针对对象参数,且一个方法只能有一个RequestBody参数。

    eg:正确:(@RequestBody String name)

      错误:(@RequestBody String name, @RequestBody String idType)

    多个RequestBody参数报错: nested exception is java.lang.IllegalStateException: Method has too many Body parameters: 

    6、常见接口问题:后台接口逻辑正常,功能无效。

      --->可能由于前端请求参数错误

        eg:前端没有传递筛选条件,导致查询接口返回未经删选的数据。

    7、kafka:(消息中间件)  

      --->一方:广播主题,可能多个;另一方:监听约定好的主题,根据主题确定传送数据存在哪里(eg:存在redis里)

     8、常见"JSON对象"类型数据,获取某字段数值。

        public <V> V getData(Class<V> clazz) {
            Object v = null;
            if (this.data != null) {
                if (this.data instanceof JSONObject) {
                    v = ((JSONObject) this.data).toJavaObject(clazz);
                } else {
                    v = JsonUtils.toObject(JsonUtils.toJsonString(this.data), clazz);
                }
            }
            return v;
        }
    方法调用: registerInfo.getData(JSONObject.
    class).get("msspId");

    备注:(Class<V> clazz),表明方法入参为传入类型的Class对象

    SVN:

    1、常见SVN提交代码流程:

    • 远端提供授权
    • 本地只查看有修改的文件(文件有黑星标记)--->team/更新-拉取最新代码解决冲突--->team/提交(添加授权标识号)

     备注:Git/Subversion一般都是在管理修改的代码,因此通常我们只需要针对有修改文件进行Git/Subversion操作。

  • 相关阅读:
    文件映射mmap
    ubuntu查看内存占用和查看cpu使用情况的简单方法(ubuntu内存管理)
    电子类网站
    一个很不错的适合PHPER们书单,推荐给大家【转】
    图片(img标签)的onerror事件
    HTTP 头部解释
    php数据通信方式
    PHP 获取服务器详细信息【转】
    mysql数据库回滚
    微信公共平台php用$GLOBALS["HTTP_RAW_POST_DATA"]收不到信息解决方法
  • 原文地址:https://www.cnblogs.com/gavincoder/p/9130218.html
Copyright © 2020-2023  润新知