PartyLocation的Post请求问题---debug
这里,遇到了一个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的更多相关文章
- Eclipse设置断点无效、无法拦截请求进行Debug调试
场景: 在Eclipse中添加Debug断点,从后台页面中点击修改按钮提交数据,发现打断点的地方并没有拦截到请求,接下来对此情况的进行分析. 分析: * 如果页面是根据业务需求复制别的相似html页面 ...
- 记一次有关GET/POST请求的Debug经历
Bug描述: 电商网站, 产品列表页面,加入购物车按钮,当连续点击“加入购物车”按钮时,在MAC上的Safari上,只会有部分请求通过 Ajax 被发送出去,而在 Chrome/IE/Firefox ...
- Nginx 开启 debug 日志的办法
译序:一般来讲,Nginx 的错误日志级别是 error,作为 Nginx 用户来讲,你设置成 info 就足够用了. 但有时有些难以挖掘的 bug,需要看到更详细的 debug 级别 ...
- 发运模块中如何创建Debug 文件
版本11.5.9到12.x A. 针对发运事务处理或者快速发运产生Debug文件 注意:如果通过发运事务处理执行发放,请参考B部分,下面这部分销售订单发放是格外的设置和日志文件. 1. 每一 ...
- JMeter 如何把上一个请求的结果作为下一个请求的参数 —— 使用正则提取器
有这样一个压力测试环境,有一个上传页面,上传成功之后服务器会返回一些上传信息(比如文件的 id 或者保存路径之类的信息),然后压力机会继续下一个请求,比如调整 id 为 xx 的文件的一些信息等等.问 ...
- spring boot aop打印http请求回复日志包含请求体
一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- jmeter脚本开发-BeanShell Sampler与Debug Sampler
BeanShell支持java对象的调用,所以可直接通过BeanShell来调用java接口程序. BeanShell调用java接口例子 1.先编写两个简单的java类 创建java简单工程,并创建 ...
- 【AMAD】django-debug-toolbar -- 一个可配置的panel,展示当前request/response的debug信息
简介 个人评分 简介 django-debug-toolbar1是一个django开发工具,可以在你开发django页面的时候展示一些当前请求的debug信息:  个人评分 类型 评分 实用性 ⭐️ ...
- <转>Unity3D研究院之C#使用Socket与HTTP连接服务器传输数据包
最近项目中需要使用HTTP与Socket,把自己这段时间学习的资料整理一下.有关Socket与HTTP的基础知识MOMO就不赘述拉,不懂得朋友自己谷歌吧.我们项目的需求是在登录的时候使用HTTP请求, ...
随机推荐
- Project://CRM
初始化 考勤 录入成绩 查看成绩 待续...
- CANopenSocket 测试
/************************************************************************* * CANopenSocket 测试 * 说明: ...
- Linux 获取随机密码
/****************************************************************************** * Linux 获取随机密码 * 说明: ...
- UVA - 1218 Perfect Service (树形dp)(inf相加溢出)
题目链接 题意:给你一个树形图,让你把其中若干个结点染成黑色,其余的染成白色,使得任意一个白色结点都恰好与一个黑色结点相邻. 解法比较容易,和树上的最大独立集类似,取一个结点作为树根,对每个结点分三种 ...
- webpack 单页面应用实战
这篇文章将介绍如何利用 webpack 进行单页面应用的开发,算是我在实际开发中的一些心得和体会,在这里给大家做一个分享.webpack 的介绍这里就不多说了,可以直接去官网查看. 关于这个单页面应用 ...
- LOJ 10189 仓库建设 ——斜率优化dp
题目:https://loj.ac/problem/10189 #include<iostream> #include<cstdio> #include<cstring& ...
- MySQL的varchar类型注意事项
前几天就在工作中发现这样一个问题:当某个字段的类型为varchar时,字段保存的值类似'100,200,300' 和 '100' 或 '100,400'.写SQL语句的时候就会犯这样的错误,例如: ...
- 如果有多个集合的迭代处理情况【使用MAP】
在SQL开发过程中,动态构建In集合条件查询是比较常见的用法,在Mybatis中提供了foreach功能,该功能比较强大,它允许你指定一个集合,声明集合项和索引变量,它们可以用在元素体内.它也允许你指 ...
- SpringMVC—对Ajax的处理(含 JSON 类型)(3)
五.服务器端的 SpringMVC 如何返回 JSON 类型的字符串. 请求: $("#testJson8").click(function () { $.ajax({ ...
- SQL中得到最后一个“-”后面的字符串
declare @str varchar(50) set @str='-'+'1-9-3-2'--前面加个'-'防止没有'-'出错 select REVERSE(SUBSTRING(REVERSE(@ ...