Я борюсь с путем парами кодирования с дооснащением:Пути URL Параметр Кодировка
http://localhost:8080/nuxeo/api/v1
моя база URL.У меня есть этот вызов
@GET("path/{documentPath}") Call<Document> fetchDocumentByPath(@Path("documentPath") String docPath);
Как пары, я устанавливаю следующее:
default-domain/blabla
- я выполнить запрос против моего TOMCAT приложения и я получаю этот ответ
Response{protocol=http/1.1, code=400, message=Bad Request, url=http://localhost:8080/nuxeo/api/v1/path/default-domain%2Fblabla}
Даже если я поместил encode = true, чтобы сказать «не enco мой параметр, он уже закодирован », он все еще кодирует его.
Кроме того, в модернизации, этот тест
retrofit2.RequestBuilderTest#getWithEncodedPathParam
не работает, если мы помещаемRequest request = buildRequest(Example.class, "po/ng");
со следующим утверждением:assertThat(request.url().toString()).isEqualTo("http://example.com/foo/bar/po/ng/");
Tomcat ограничил его URL проверки по соображениям безопасности: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0450.
Поэтому я хотел бы отправить '/' непосредственно в свой параметр пути, не кодируя его в% 2F. Как я могу это достичь?
Спасибо!
Я использую эту версию 'parent-2.0.0-beta3' – Viodek
По-видимому, она исправлена в beta4. Я не знаю, что связано с ошибкой и исправлением. Будет подтверждать, что тесты будут проводиться глобально на моей стороне. – Viodek
Подтверждено. Использование encoded = true теперь корректно работает с parent-2.0.0-beta4 – Viodek