저는 Java에 익숙하지 않아 문자열을 암호화/해독하는 유틸리티 API를 작성하려고합니다. 컨트롤러와 요청 매핑이 작동하며 암호화/해독 메소드가 작동합니다.Java 웹 API에서 인코딩을 사용하는 URL 라우팅
내가 겪고있는 문제는 슬래시 ('/')가 포함 된 문자열의 암호를 해독하는 것입니다. URL에 인코딩되지 않은 상태로두면 (예 : http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC/4Oqpu7FZQ==
) URL 라우팅이 끊어집니다 (이는 분명한 이유입니다).
URL을 인코딩하면 (예 : http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC%2F4Oqpu7FZQ==
) 경로 변수의 값이 비어 있습니다.
또한 http://localhost:8080/api/package/util/decrypt/oJfTtchpM9WC
(슬래시 없음)이 올바르게 작동합니다.
경로 변수에 '%'를 입력 할 때마다 응답 할 때 빈 페이지가 나타납니다. 방법을 치지 마. (내가 찾을 수 - 다시, 나는 아직도 환경 배우고) 예외가 발생하지 않습니다 내가 경로 변수가 data
@RequestMapping(value = "/util/decrypt/{data}", method = RequestMethod.GET)
@ResponseBody
public String decrypt(HttpServletResponse httpResponse,
@PathVariable String data) throws Exception
{
return data;
// return URLDecoder.decode(data, "UTF-8");
}
수로 표시에만 출력에 내 해독 방법을 단순화했습니다
을 아무도 내게 무슨 일이 일어나고 어떻게이 일을 할 수 있겠는가?
많은 감사합니다.
은 매개 변수 데이터가 null입니까? – shazinltc
컨트롤러에서 decrypt 메소드를 실행하는 것조차 보이지 않습니다. – earthling
당신은 요청 매개 변수를 사용하여 일반적인 요청 매개 변수 즉,? data = yourEncryptedString – shazinltc