我必须REST拨打包含自定义标头和查询参数的电话.我HttpEntity只用标题(没有正文)设置我,我使用RestTemplate.exchange()如下方法:
HttpHeaders headers = new HttpHeaders();
headers.set("Accept", "application/json");
Map<String, String> params = new HashMap<String, String>();
params.put("msisdn", msisdn);
params.put("email", email);
params.put("clientVersion", clientVersion);
params.put("clientType", clientType);
params.put("issuerName", issuerName);
params.put("applicationName", applicationName);
HttpEntity entity = new HttpEntity(headers);
HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class, params);
Run Code Online (Sandbox Code Playgroud)
这在客户端失败,dispatcher servlet无法解析对处理程序的请求.调试它后,看起来似乎没有发送请求参数.
当我POST使用请求正文进行交换而没有查询参数时,它可以正常工作.
有没有人有任何想法?
我正在与一位受人尊敬的同事讨论一个有趣的讨论,并希望得到一些额外的意见......
我需要在我的应用程序中实现一些基本的决策表逻辑.我当时希望使用OpenL Tablets来表示Excel电子表格中的决策数据.我喜欢它,它易于设置和维护,并且具有较小的内存和处理空间.我可以轻松添加新表,我有一些表超过100行,最多10个条件.这些数据非常静态,很少发生变化.
我的同事不希望在混合中引入第三方API,并对与Microsoft文件格式绑定有所保留.
我看到他的观点,但我能看到通过Java实现决策表的唯一方法是编写一系列丑陋的if或case语句,这对于较小的表来说很好,但是当我到达更大的表时会变得难以管理.
有没有人对论点的双方都有任何评论.如果有人对可以解决我在本机Java中的问题的模式有任何想法,我会有兴趣听到它.
非常感谢你的时间.
我目前正在维护一个应用程序,并注意到在Spring连接中定义为Singleton的许多对象在其方法中创建了其他对象的新实例.
例如,每次调用login()方法时都会有一个LoginService Singleton创建一个新的LoginDetails实例.LoginDetails是瞬态的,只有执行login()方法才需要.
我的问题是,如果Spring为LoginService创建了一个单独的对象,那么如何将LoginDetails的实例标记为垃圾收集,作为对创建它们的对象的引用并使用它们永远不会终止?
我的意思是:
public void deleteCustomer(Long customerId, HttpServletRequest request) {
CustomerType customerType = new CustomerType();
customerType.setCustomerId(customerId);
CustomerDeleteRequestType deleteRequest = new CustomerDeleteRequestType();
deleteRequest.setCustomer(customerType);
CustomerDeleteResponseType deleteResponse = mmmwsClient.executeRequest(deleteRequest);
log.debug("Delete Response Recieved from Server for Customer Name Update " + deleteResponse.getServiceResult());
}
Run Code Online (Sandbox Code Playgroud)
由于使用的字段只是方法变量而不是实例变量,我想在方法完成时会破坏对它们的引用?
我对Spring Singleton的理解是否正确?
谢谢