1 回答

TA貢獻1865條經驗 獲得超7個贊
我幾乎找不到任何理由去做這些。提供的代碼似乎等同于:
@RequestMapping(value = "/api/v1/User", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public String getBySomeAttribute(@RequestParam(value = "someAttribute", required = true) String someAttribute,
HttpServletResponse response) {
User user = service.getBySomeAttribute(someAttribute);
return createResponse(user, response);
}
private String createResponse(User user, HttpServletResponse response) {
String responseBody = "";
if(user != null && user.getEnabled()) {
String responseBody = toJsonString(userJsonMapper.jsonMapFrom(user))
response.setStatus(SC_OK);
}
setResponseHeaders(response, responseBody.length());
return responseBody;
}
private void setResponseHeaders(HttpServletResponse response, int responseBodySize) {
response.setHeader("Content-Length", valueOf(responseBodySize));
response.setHeader("Expires", "1");
response.setHeader("Cache-Control", "no-cache");
}
但是上面的內容(在我看來)更容易閱讀、理解和維護。除非 lambda 在其他地方得到廣泛使用,否則我看不出它存在的理由。老實說,即使在其他地方使用它也可能是矯枉過正。
添加回答
舉報