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 在其他地方得到广泛使用,否则我看不出它存在的理由。老实说,即使在其他地方使用它也可能是矫枉过正。
添加回答
举报
