2017-06-28 12 views
3

verwende ich unter Code, um einen grundlegenden Web-Service zu testen. Wenn es normale Zeichenfolge passiert, funktioniert es zum Beispiel gut - http://localhost.com:8080/CheckRest/rest/pmg?p1=xyz. Es zeigt HALLO xyzRest Web-Service-Parameter Problem

Aber wenn ich ‚#‘ an die URL trägt nicht den richtigen Ausgang zum Beispiel geben - http://localhost.com:8080/CheckRest/rest/pmg?p1=xyz#abc. Es zeigt dann HALLO xyz statt HALLO xyz # abc

package com.check.ws; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.MediaType; 

@Path("/pmg") 
public class CheckCall { 

    @GET 
     @Produces(MediaType.TEXT_PLAIN) 
     public String sayPlainTextHello() { 
     return " "; 
     } 

     // This method is called if XML is request 
     @GET 
     @Produces(MediaType.TEXT_XML) 
     public String sayXMLHello() { 
     return "<?xml version=\"1.0\"?>" + "<pmg> </pmg>"; 
     } 

     // This method is called if HTML is request 
     @GET 
     @Produces(MediaType.TEXT_HTML) 
     public String sayHtmlHello(@QueryParam("p1") String par1) { 
     return "<html> <body> HELLO </body> </html>"+par1; 
     } 
} 

Antwort

7

Das Pfund/Raute (#) gibt den Beginn des URL fragment identifier. Wenn Sie ein Pfund/Hash-Zeichen in Ihrer Query-String verwenden möchten, müssen Sie codieren es URL indem sie sie mit %23 ersetzt:

http://localhost.com:8080/CheckRest/rest/pmg?p1=xyz%23abc

+0

Gibt es eine Möglichkeit, die URL mit dem Parameter ausführen können als p1 = xyz #abc und einige Änderungen am Ende des Web-Service vornehmen? – anukb

+0

Sie können das Fragment aus der Anfrage abrufen und an Ihre Variable anhängen. –

Verwandte Themen