这里,遇到了一个debug:

 @Override
    public void setPrimaryPartyLocation(PartyLocation partyLocation) {
        if (!getPartyLocations().contains(partyLocation)) {
            throw new IllegalArgumentException("Party location passed is not known to this party");
        }
        for (PartyLocation loc : getPartyLocations()) {
            loc.setPrimaryLocation(false);
        }
        partyLocation.setPrimaryLocation(true);
    }

底层调用该方法时,getPartyLocations总是未null,而partyLocation参数又是有值的,所以,导致无法setPrimaryLocation成功。一直想调用entity.setLocations,但是,没办法调用该方法。

经过simon帮忙分析,最后,添加上

party.addLocation(location,false);

因为,该方法内部实现了entity.setLocations方法。

总结原因:entity未setLocations,去getLocations的时候,肯定是拿不到数据的。

要学习simon教我的debug调试功能,找到自己需要完善的代码。希望自己慢慢的掌握debug。

private void updateAndCreateLocations(PersonDto dto, Person entity) throws DuplicateLocationException{
        Set<String> titleSet = new HashSet<>();
        if(Objects.isNull(dto.getPartyLocations())){
            return;
        }

        for(PartyLocationDto partyLocationDto : dto.getPartyLocations()){
            if(StringUtils.isNotBlank(partyLocationDto.getLocationTitle())){
                String trimmedTitle = partyLocationDto.getLocationTitle().trim();
                if(!titleSet.add(trimmedTitle)) {
                    throw new DuplicateLocationException("DuplicateLocation Exception");
                }
            }
        }
        for(PartyLocationDto partyLocationDto : dto.getPartyLocations()){
            if(StringUtils.isBlank(partyLocationDto.getLocationTitle())){
                break;
            }
            Integer locationId = Integer.parseInt(partyLocationDto.getId());
            Party party = (Party)entity;
            PartyLocation location;
            if(locationId<1){
                location = new PartyLocationEntity(party,partyLocationDto.getLocationTitle());
                party.addLocation(location,false);
                if(partyLocationDto.isPrimaryLocation()){
                    entity.setPrimaryPartyLocation(location);
                }
            }else{
                location = crmManager.findPartyLocation(locationId);
                party.addLocation(location,false); //entity has not locations.
                if(partyLocationDto.isPrimaryLocation()){
                    entity.setPrimaryPartyLocation(location);
                }
            }
            populatePartyLocation(location, partyLocationDto);

        }
    }

PartyLocation的Post请求,可以更新已有的,但是不能添加一个新的partyLocation。

因此,这里需要再写一个partyLocation的post请求,这样,就可以实现新增一个新的PartyLocation了。---待完成。

PartyLocation的Post请求问题---debug的更多相关文章

  1. Eclipse设置断点无效、无法拦截请求进行Debug调试

    场景: 在Eclipse中添加Debug断点,从后台页面中点击修改按钮提交数据,发现打断点的地方并没有拦截到请求,接下来对此情况的进行分析. 分析: * 如果页面是根据业务需求复制别的相似html页面 ...

  2. 记一次有关GET/POST请求的Debug经历

    Bug描述: 电商网站, 产品列表页面,加入购物车按钮,当连续点击“加入购物车”按钮时,在MAC上的Safari上,只会有部分请求通过 Ajax 被发送出去,而在 Chrome/IE/Firefox ...

  3. Nginx 开启 debug 日志的办法

    译序:一般来讲,Nginx 的错误日志级别是 error,作为 Nginx 用户来讲,你设置成 info 就足够用了.         但有时有些难以挖掘的 bug,需要看到更详细的 debug 级别 ...

  4. 发运模块中如何创建Debug 文件

     版本11.5.9到12.x A. 针对发运事务处理或者快速发运产生Debug文件 注意:如果通过发运事务处理执行发放,请参考B部分,下面这部分销售订单发放是格外的设置和日志文件. 1.   每一 ...

  5. JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器

    有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问 ...

  6. spring boot aop打印http请求回复日志包含请求体

    一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  7. jmeter脚本开发-BeanShell Sampler与Debug Sampler

    BeanShell支持java对象的调用,所以可直接通过BeanShell来调用java接口程序. BeanShell调用java接口例子 1.先编写两个简单的java类 创建java简单工程,并创建 ...

  8. 【AMAD】django-debug-toolbar -- 一个可配置的panel,展示当前request/response的debug信息

    简介 个人评分 简介 django-debug-toolbar1是一个django开发工具,可以在你开发django页面的时候展示一些当前请求的debug信息:  个人评分 类型 评分 实用性 ⭐️ ...

  9. <转>Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包

    最近项目中需要使用HTTP与Socket,把自己这段时间学习的资料整理一下.有关Socket与HTTP的基础知识MOMO就不赘述拉,不懂得朋友自己谷歌吧.我们项目的需求是在登录的时候使用HTTP请求, ...

随机推荐

  1. Codeforces Round #271 (Div. 2)D(递推,前缀和)

    很简单的递推题.d[n]=d[n-1]+d[n-k] 注意每次输入a和b时,如果每次都累加,就做了很多重复性工作,会超时. 所以用预处理前缀和来解决重复累加问题. 最后一个细节坑了我多次: print ...

  2. Java 利用Gson将json字符串转换为List<Map<String, String>>

    json字符串类似于: [ { "userPhone": "123", "userNo": "123-2", " ...

  3. Sortable

    d_(:з」∠)_ import React, {Component} from 'react'; import "./app.css"; import Sortable from ...

  4. IDEA使用操作文档

    IDEA中怎么设置黑色或白色背景? http://jingyan.baidu.com/article/4e5b3e19330df191911e246b.html 一. IntelliJ IDEA  的 ...

  5. [Luogu3727]曼哈顿计划E

    luogu 题意(简化版) 给你一棵树,每个点上有一个\(SG\)值,问你是否存在一条路径使得\(SG\)异或和为\(0\). sol 可以当做每个点的稳定值就是这个点上的石子数量. 很显然我们只需要 ...

  6. 杂项之python利用pycrypto实现RSA

    杂项之python利用pycrypto实现RSA 本节内容 pycrypto模块简介 RSA的公私钥生成 RSA使用公钥加密数据 RSA使用私钥解密密文 破解博客园登陆 pycrypto模块简介 py ...

  7. BZOJ2342:[SHOI2011]双倍回文

    浅谈\(Manacher\):https://www.cnblogs.com/AKMer/p/10431603.html 题目传送门:https://www.lydsy.com/JudgeOnline ...

  8. 把python2.6升级到python2.7(同样适用于把python2升级到python3)

    在启用https过程中,在生成CSR(证书请求文件)时,报错了,说python2.6已被python团队抛弃了,所以升级python到2.7 话不多说,直接上代码: 步骤1:下载python2.7.1 ...

  9. Java-API:java.io百科

    ylbtech-Java-API:java.io百科 Java的核心库java.io提供了全面的IO接口.包括:文件读写.标准设备输出等.Java中IO是以流为基础进行输入输出的,所有数据被串行化写入 ...

  10. eclipse中删除tomcat server 导致不能重新创建该server

    定位到:workspace\.metadata\.plugins\org.eclipse.core.runtime\.settings 1 打开org.eclipse.jst.server.tomca ...