![](/img/trans.png)
[英]Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long' in SPRING
[英]Spring NumberFormatException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long
我不確定是否缺少真正的基本知識,但這就是我想做的。
我想對此地址進行其余的API調用:
https:// localhost:8080 / fetchlocation?lat = -26.2041028&lng = 28.0473051&radius = 500
我的休息方法是:
public void fetchlocation(@RequestParam Long lat, @RequestParam Long lng, @RequestParam int radius){ //fetches location}
我收到此錯誤:
“時間戳記”:1442751996949,“狀態”:400,“錯誤”:“錯誤請求”,“異常”:“ org.springframework.beans.TypeMismatchException”,
“ message”:“無法將類型'java.lang.String'的值轉換為所需的類型'java.lang.Long';嵌套的異常是java.lang.NumberFormatException:對於輸入字符串:\\”-26.2041028 \\“”,
“路徑”:“ / fetchlocation”
我猜這是因為在我進行GET調用時,rest API會以字符串而不是Longs的形式接收坐標。 如何確保在調用時其余API獲得Longs而不是String值?
當我更改其余API方法以將Strings作為參數時,我可以輕松地使該方法起作用,但是對於類型檢查,我更喜歡使用Longs。
public void fetchlocation(@RequestParam String lat, @RequestParam String lng, @RequestParam String radius){ //fetches location}
您嘗試轉換為java.lang.Long
是-26.2041028
。
您的電話號碼包含.
(十進制)。 Long
不允許這樣做。 您需要使用java.lang.Double
。
此外,對於L
表示Long
,對於D
表示Double
精度號,對於D
表示成功,然后對D
表示成功。 即使不是必需的,它也使代碼更具可讀性。
像是Double
-26.2041028D
。
您需要確保要轉換為Long的字符串僅包含數字。 這意味着例如這樣的字符串“ 10d”不能轉換為Long,因此是例外。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.