[英]How to assert “Content-Type” set by SpringFramework's org.springframework.http.ResponseEntity class?
[英]How to return org.springframework.http.ResponseEntity includes data and files
我有方法getUser的restful spring控制器,我希望這個方法返回用戶數據:名稱,年齡,城市等,以及用戶圖像。
如何在一個響應中返回java對象和文件?
@RequestMapping(value = "/getUser", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity getUser(@RequestBody UserRequest req)
{
User user=userProfileService.getUserProfileByEmail(req.getEmail());
Resource resourceImg1 = new ServletContextResource(servletContext, "D:/images/userImg1.jpg");
Resource resourceImg2 = new ServletContextResource(servletContext, "D:/images/userImg2.jpg");
List<Resource> resourcesList = new ArrayList<Resource>();
resourcesList.add(resourceImg1);
resourcesList.add(resourceImg2);
return new ResponseEntity(user, resourcesList, new HttpHeaders(), HttpStatus.OK);
}
我想要返回圖像和用戶
您的響應主體需要是單個對象。 你最好的選擇是創建一個像這樣的對象
public class UserWithResources() {
private User user;
private List<Resources> resources;
...etc
}
然后在您的響應中返回UserWithResources
你可以使用map來包裝數據,
@RequestMapping(value = "/getUser", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity getUser(@RequestBody UserRequest req)
{
User user=userProfileService.getUserProfileByEmail(req.getEmail());
Resource resourceImg1 = new ServletContextResource(servletContext, "D:/images/userImg1.jpg");
Resource resourceImg2 = new ServletContextResource(servletContext, "D:/images/userImg2.jpg");
List<Resource> resourcesList = new ArrayList<Resource>();
resourcesList.add(resourceImg1);
resourcesList.add(resourceImg2);
Map<String,Object> dataMap=new HashMap<String,Object>();
dataMap.put("user",user);
dataMap.put("resourcesList",resourcesList);
return new ResponseEntity(dataMap,new HttpHeaders(), HttpStatus.OK);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.