我想Mutual-friend從資料庫中獲取,查詢和所有代碼運行良好,但從控制器中得到奇怪的回應AbstractJpaQuery$TupleConverter$TupleBackedMap@7db3be92。我可以傳入List<DTO>控制器作為回傳型別。我想username從資料庫中獲取和其他更多列。
下面是我的代碼:
DTO
public interface ProfileJoin {
public Integer getU_id();
public String getUsername();
public String getPassword();
}
在存盤庫中查詢
@Query(nativeQuery = true, value="SELECT Distinct rgm.username, rm1.sender_id, rm1.receiver_id, pm.profile FROM registration_master as rgm INNER JOIN profile_master AS pm ON rgm.u_id = pm.user_id INNER JOIN request_master AS rm1 ON rgm.u_id = rm1.receiver_id INNER JOIN request_master AS rm2 ON rgm.u_id = rm2.receiver_id WHERE rm1.sender_id = ? AND rm1.status = ? AND rm2.sender_id = ? AND rm2.status = ?")
List<ProfileJoin> getMutualFriend(Integer Sender_id1, String Status1, Integer Sender_id2, String Status2);
控制器
@RequestMapping(value="/getmutualfriend/{id}", method = RequestMethod.GET)
public void getMutualFriend(HttpServletRequest req, HttpServletResponse res, HttpSession session, @PathVariable("id") Integer id) throws IOException
{
List<ProfileJoin> getMutualFriend = service.getMutualFriend(Integer.parseInt(session.getAttribute("uid").toString()), "Accept", id, "Accept");
if(getMutualFriend.size() > 0)
{
res.getWriter().print(getMutualFriend);
}
else
{
res.getWriter().print(" ");
}
}
AJAX
$(document).ready(function(){
$.ajax({
type: "GET",
url: "/getmutualfriend/" $("#friend_ID").attr("value"),
success: function(res){
console.log(res)
}
});
});
我的輸出

預期產出
在Mutual-friend不使用ajax的情況下獲得完美的輸出......

uj5u.com熱心網友回復:
將資料直接res.getWriter().print(getMutualFriend);寫入回應:這會將toString()呼叫的結果寫入您的物件...
您應該回傳實際資料: List<ProfileJoin>
@RequestMapping(value="/getmutualfriend/{id}", method = RequestMethod.GET)
@ResponseBody // <--- will write result as json in the resoponse
public List<ProfileJoin> getMutualFriend(HttpServletRequest req, HttpServletResponse res, HttpSession session, @PathVariable("id") Integer id) throws IOException
{
return service.getMutualFriend(Integer.parseInt(session.getAttribute("uid").toString()), "Accept", id, "Accept");
}
然后你可以通過你的JS訪問資料
$(document).ready( function() {
$.ajax({
url: "/getmutualfriend/" $("#friend_ID").attr("value"),
type: "GET",
success: function(data) {
for (var i = 0; i < data.length; i ) {
console.log(data[i].u_id);
console.log(data[i].username);
}
}
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/360458.html
