我得到一个 java.lang.RuntimeException:
java.util.MissingFormatArgumentException: Format specifier '%s' error in Java below is my stacktrace:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transformToListClass': Invocation of init method failed; nested exception is java.lang.RuntimeException: java.util.MissingFormatArgumentException: Format specifier '%s'
Caused by: java.lang.RuntimeException: java.util.MissingFormatArgumentException: Format specifier '%s'
Caused by: java.util.MissingFormatArgumentException: Format specifier '%s'
我正在传递以下 JSON 文件:
{
"EcrionIntegration": {
"HelloWord": "Hello World"
}
}
到以下方法:
@PostConstruct
public ResponseEntity<InputStreamResource> tranform() {
try {
JSONParser parser = new JSONParser();
//Use JSONObject for simple JSON and JSONArray for array of JSON.
JSONObject data = (JSONObject) parser.parse(new FileReader("C:\\Liver\\code\\HELLO_WORLD.json"));//path to the JSON file.
String payLoad = data.toString();
ImageDescriptor descriptor = ecrionService.generateImage(payLoad, "HELLO_WORLD");
log.info(String.format("%s generateImage Result: [%s] ", descriptor.getFileName(), descriptor.getFileUrl()));
System.out.print(descriptor.getFileName() + " " + descriptor.getFileUrl());
String fileName = "ecrionlList.PDF";
log.info(String.format("file name:", fileName));
System.out.print("file name:" + fileName);
descriptor.setFileName(fileName);
InputStreamResource streamResource = new InputStreamResource(descriptor.getInputStream());
return ResponseEntity.ok()
.contentType(MediaType.parseMediaType(MediaType.APPLICATION_PDF_VALUE))
.body(streamResource);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}
依次传递给以下方法并发送到服务器:
public ImageDescriptor generateImage(String payLoad, String templateName) {
try {
ImageDescriptor descriptor = new ImageDescriptor();
String myEcrionUrl = "http://localhost:8013/v1/ecrion";
String ecrionURL = myEcrionUrl.concat(Constant.F_SLASH).concat(templateName);
log.info("payload" + payLoad);
ResponseEntity<Resource> responseEntity = restTemplate.exchange(
ecrionURL,
HttpMethod.POST,
ncbiService.getStringHttpEntityWithPayload(payLoad),
Resource.class);
log.info(String.format("%s generateImage Result: [%s] ", responseEntity.getBody().getInputStream()));
descriptor.setInputStream(Objects.requireNonNull(responseEntity.getBody()).getInputStream());
convert(responseEntity.getBody().getInputStream(), "sherrr.pdf");
log.info("file is:"+ convert(responseEntity.getBody().getInputStream(), "sherrr.pdf"));
return descriptor;
} catch (IOException e) {
e.printStackTrace();
log.error(" generate image failed " + e.getMessage());
throw new RuntimeException(e);
}
}