我正在使用app.use('/api', proxy({
target: 'http://www.example.org',
changeOrigin: true,
selfHandleResponse: true, // so that the onProxyRes takes care of sending the response
onProxyRes: function(proxyRes, req, res) {
var body = new Buffer('');
proxyRes.on('data', function(data) {
body = Buffer.concat([body, data]);
});
proxyRes.on('end', function() {
body = body.toString();
console.log("res from proxied server:", body);
res.end("my response to cli");
});
}
}));
和Spring Boot 1.5.10.RELEASE
。
我需要根据方法中传递的参数给出缓存的名称。我的代码示例如下:
spring-boot-starter-data-redis version: 2.1.2.RELEASE
我期望了名字,例如@Cacheable(value = "Company"+"-"+"#companyId",key="#employeeId")
public Employee getEmployee(Long companyId, Long employeeId) {
//Some code here
}
但实际结果是Company-1
。
我正在搜索诸如customKeyGenerator之类的东西。
请给我您的建议。TIA
答案 0 :(得分:1)
恐怕使用“ Company” +“-” +“#companyId”无效,因为'value'将所有内容解释为字符串。 “键”接受用于动态计算键的Spring表达式语言(SpEL)表达式,因此#employeeId有效。 您需要一个自定义的cacheResolver: spring cache with custom cacheResolver