Я создал отдельное java-приложение, которое преобразует несколько форматов файлов друг в друга.
Таким образом, он работает над Main.java, например
new DocxToHtmlConverter().docxToHtml("File.docx",".File.html");
Я хочу реализовать приложение весенней загрузки, которое делает то же самое через URL-адрес localhost.
Я также реализую алгоритм выбора поверх этого. Например, предложения if для выполнения требуемого алгоритма на основе расширений входной строки (можно использовать endWith(".docx") и т. д.
По сути, если я напишу как localhost:8080/{inputFile,outputFile}, а затем на основе расширения файла будет выбран соответствующий класс, и я смогу загрузить полученный файл. В данном случае это html.
Я никогда раньше не использовал Spring, так что простите меня за мое игнорирование. Я даже не знаю, допустимы ли такие операции с Spring. Вот почему я спрашиваю.
Какой подход лучше всего использовать? любые полезные ссылки или идеи приветствуются.




Есть много способов сделать это. В этом ответе описывается одно решение, которое позволяет вам сохранять независимость вашей библиотеки от Spring.
Вы должны создать класс конфигурации, который будет определять bean-компонент с вашей реализацией. Вы сможете напрямую внедрить этот компонент в любой компонент в вашем весеннем проекте.
@Configuration
public class DocxToHtmlConverterConfig{
@Bean
public DocxToHtmlConverter docxToHtmlConverter(){
return new DocxToHtmlConverter();
}
}
Этот класс конфигурации создаст bean-компонент с реализацией DocxToHtmlConverter, которую вы можете автоматически добавить в любой компонент вашего приложения следующим образом.
@RestController //or @Controller or @{any annotation that declares a component}
public class MyService{
@Autowired
DocxToHtmlConverter docxToHtmlConverter;
public void convertFile(){
docxToHtmlConverter.docxToHtml("File.docx",".File.html");
}
}
да, я действительно справился. Удивительно, но это было очень легко сделать. Я просто потерялся во всех этих уроках и примерах. Мне все еще нужно глубоко понять все компоненты. Это работает, и это нормально. Но я не знаю, почему это работает и как это работает. В любом случае, я приму ваш ответ.
Вы можете попробовать настроить springboot, следуя руководству здесь spring.io/guides/gs/весна-загрузка, и как только вы будете готовы, вы можете просто настроить свой собственный метод POST и реализовать его логику :). Если вам все еще нужна дополнительная информация, не стесняйтесь спрашивать здесь.