Spring:无法为实体正确设置纬度和经度。它只在某些时候有效
Spring: Can't get to set Latitude and Longitude properly to an entity. It only works some times
我正在尝试更新“Estab”,它们是具有纬度 (locLat) 和经度 (locLon) 的实体。我很难更新它们,因为它不会总是设置值,而且我找不到模式。
{
"estabId": 4,
"nombre": "Palacio de las Artes Reina Sofia Modificado",
"direccion": "Avda. Profesor Lopez Piñero",
"codPost": 46010,
"poblacion": "Valencia",
"telefono": "963219874",
"url": "www.palaudelesarts.com",
"locLat": 52.2,
"locLon": -6554,
"locZoom": 1,
"tipo": 3
}
以上是我发送给实体的内容,然后它应该设置值。起初我以为整数会有问题,所以我为每个属性(纬度和经度)创建了 2 个 setter。几分钟前,我什至创建了第三个 setter 以便能够将值作为 String 传递,以防它起作用:
@Column(name="loc_lat")
private Double locLat;
public void setLocLat(double locLat) {
this.locLat = locLat;
}
public void setLocLat(int lat) {
String latStr = String.valueOf(lat);
double latD = Double.valueOf(latStr);
this.locLat = latD;
}
public void setLocLat(String lat) {
double latD = Double.valueOf(lat);
this.locLat = latD;
}
另一个让我觉得很奇怪的事实是,当我 运行 在调试模式下编程时,无论使用 3 种方法中的哪一种,它实际上似乎都有效。
我尝试将变量“latD”的值类型从“Double”更改为“double”,尝试了几次似乎有效,但现在不行了。
有人知道这里发生了什么吗?非常感谢您!!
顺便说一句,我正在通过 Postman 发送所有信息。
解决方案:
过去使用 Double 给我带来了一些问题,所以我最终决定将所有 Double 值作为字符串保存在我的数据库中。在任何时候,我都只是取数值并毫无问题地对其进行操作。
我正在尝试更新“Estab”,它们是具有纬度 (locLat) 和经度 (locLon) 的实体。我很难更新它们,因为它不会总是设置值,而且我找不到模式。
{
"estabId": 4,
"nombre": "Palacio de las Artes Reina Sofia Modificado",
"direccion": "Avda. Profesor Lopez Piñero",
"codPost": 46010,
"poblacion": "Valencia",
"telefono": "963219874",
"url": "www.palaudelesarts.com",
"locLat": 52.2,
"locLon": -6554,
"locZoom": 1,
"tipo": 3
}
以上是我发送给实体的内容,然后它应该设置值。起初我以为整数会有问题,所以我为每个属性(纬度和经度)创建了 2 个 setter。几分钟前,我什至创建了第三个 setter 以便能够将值作为 String 传递,以防它起作用:
@Column(name="loc_lat")
private Double locLat;
public void setLocLat(double locLat) {
this.locLat = locLat;
}
public void setLocLat(int lat) {
String latStr = String.valueOf(lat);
double latD = Double.valueOf(latStr);
this.locLat = latD;
}
public void setLocLat(String lat) {
double latD = Double.valueOf(lat);
this.locLat = latD;
}
另一个让我觉得很奇怪的事实是,当我 运行 在调试模式下编程时,无论使用 3 种方法中的哪一种,它实际上似乎都有效。
我尝试将变量“latD”的值类型从“Double”更改为“double”,尝试了几次似乎有效,但现在不行了。
有人知道这里发生了什么吗?非常感谢您!!
顺便说一句,我正在通过 Postman 发送所有信息。
解决方案:
过去使用 Double 给我带来了一些问题,所以我最终决定将所有 Double 值作为字符串保存在我的数据库中。在任何时候,我都只是取数值并毫无问题地对其进行操作。