웹 서비스를 테스트하기위한 테스트 프로그램을 작성하려고합니다. JSON 개체를 GET 메서드를 통해 웹 서비스에 보내고 있지만 작동하지 않습니다. 내 테스트 URL은 다음과 같습니다쿼리에서 "/"를 사용하여 GET 요청을 보내는 방법
http://testserver:8080/mydir/{"filename":"test.jpg", "Path":"test/2/2"}
나는 내가 그들을 제거하면 프로그램이 잘 작동하기 때문에 "/"경로 나에게 문제를 일으키는 생각하고 있어요.
REST how to pass values containing "/" as path parameter in the URI?에 대해 java.net.URLEncoder.encode를 사용하려고 시도했지만 도움이되지 않습니다.
// some code from main method
<snip snip>
String url = "http://testserver:8080/mydir/";
String JSON = "{\"filename\":\"test.jpg\",\"Path\":\"test/2/2\"}";
String enc_JSON = URLEncoder.encode(JSON,"UTF-8");
String testGet = url + enc_JSON;
String out2 = TestCode.httpGet(testGet);
<snip snip>
// code from httpGet method
public static String httpGet(String serverURL) {
URL url;
HttpURLConnection conn;
try {
url = new URL (serverURL);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setUseCaches(false);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
// failing at line below
InputStream input = conn.getInputStream();
<snip snip>
내 프로그램의 결과는 내가 HTTP 응답 코드 얻을 수있다 : (400) 내가 httpGet() 메소드에 내 코드에 뭔가를 추가하는 것을 잊지 않았다 그것을 실패의 원인을 여기 내 테스트 프로그램의 코드 조각입니다 또는 JSON 개체가 경로 위치의 "/"끝에 끝에 붙어 있기 때문에 URL에서 불법적 인 일을하고 있습니까?
도움을 주셔서 감사합니다.
감사합니다. 내 POST 메서드가 작동하기 때문에 GET으로 이동하여이 문제에 부딪 혔습니다. 이제 PUT 및 DELETE : 다시 한번 감사드립니다! – Classified