Создание Get Rest Request с путем S3 для транзакций - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь создать API отдыха, который принимает в качестве пути переменной путь от s3 (aws), и у меня есть некоторые проблемы.

  1. GetMapping(value="files/{filePath}", produces="application/json") Если я приведу, например,путь: myFiles/uni/mymarks.txt, он обрабатывает его не как переменную, а как полный путь, поэтому он не может отобразить его.Любые рекомендации о том, как я могу дать его в качестве переменной?(косая черта создает эту проблему).

  2. Если в переменной filePath есть что-то вроде name.txt, оно сохраняет только имя и удаляет .txt, поэтому имя неверно, когда яхочу использовать его позже в коде.Какие-нибудь корректировки?

1 Ответ

0 голосов
/ 03 июня 2018

Как насчет?

@RequestMapping(path = "/files/**", method = RequestMethod.GET)
public ResponseEntity<String> s3ProxyGet(HttpServletRequest request) {
    String path = new UrlPathHelper().getPathWithinApplication(request);
    ...

Тогда:

curl http://localhost:8080/files/uni/mymarks.txt

отобразится на этот метод контроллера, а path будет содержать /files/uni/mymarks.txt.Затем вы можете обрезать /files спереди и выполнять выборку из s3.

UrlPathHelper из библиотеки spring-web.

HTH

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...