Я пытаюсь добавить загрузочный файл в мое приложение Corda, но оно не работает, так как я получаю ошибку ниже при самом запуске.
[[FATAL] Источник параметра не найден для параметра типа public
javax.ws.rs.core.Response
com.test.agreementnegotiation.api.AgreementNegotiationApi.uploadFile (java.lang.String, java.io.InputStream, org.glassfish.jersey.media.multipart.FormDataContentDisposition)
по индексу 0 .; источник = 'ResourceMethod {HTTPMethod = POST,
потребляемые типы = [составные части / данные формы], произведенные типы = [],
приостановлено = false, suspendTimeout = 0, suspendTimeoutUnit = MILLISECONDS,
= Invocable возможности ссылаться {Обработчик = ClassBasedMethodHandler {handlerClass = класс
com.test.agreementnegotiation.api.AgreementNegotiationApi,
handlerConstructors = [org.glassfish.jersey.server.model.HandlerConstructor@14ab26a]},
definitionMethod = public javax.ws.rs.core.Response
com.test.agreementnegotiation.api.AgreementNegotiationApi.uploadFile (java.lang.String, java.io.InputStream, org.glassfish.jersey.media.multipart.FormDataContentDisposition),
параметры = [параметр [тип = класс java.lang.String, источник = теги,
defaultValue =], параметр [тип = класс java.io.InputStream,
источник = файл, defaultValue = ноль], параметр [тип = класс
org.glassfish.jersey.media.multipart.FormDataContentDisposition,
source = file, defaultValue = null]], responseType = class
javax.ws.rs.core.Response}, nameBindings = []} ']
Ниже приведен код -
@Path("upload")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(@DefaultValue("") @FormDataParam("tags") String tags,
@FormDataParam("file") InputStream file,
@FormDataParam("file") FormDataContentDisposition fileDisposition) {
String fileName = fileDisposition.getFileName();
saveFile(file, fileName);
String fileDetails = "File saved at " + UPLOAD_FOLDER + " " + fileName + " with tags "+ tags;
System.out.println(fileDetails);
return Response.ok(fileDetails).build();
}
private void saveFile(InputStream file, String name) {
try {
/* Change directory path */
java.nio.file.Path path = FileSystems.getDefault().getPath(UPLOAD_FOLDER + name);
/* Save InputStream as file */
Files.copy(file, path);
} catch (IOException ie) {
ie.printStackTrace();
}
}
Я искал по ошибке и обнаружил, что нам нужно включить / пересмотреть MultiPartFeature.
https://www.google.co.uk/search?q=No+injection+source+found+for+a+parameter+site:stackoverflow.com&sa=X&ved=0ahUKEwjn5ePy5PbbAhWMOxQKHQHXAUkQrQIIUCgEMAI&biw=1280&bih=958
Какую бы ссылку я не нашел, они говорят об изменении web.xml или добавлении AppCong, и я не уверен, как это можно сделать в примере проекта Corda.
Команда Corda, пожалуйста, помогите.