[का उपयोग अपाचे बिलाव/7.0.27]बहुत अजीब: HTTP स्थिति 405 - पद्धति की अनुमति नहीं
ऐसा लगता है मैं केवल यह त्रुटि प्राप्त
- (HTTP स्थिति 405 - पद्धति की अनुमति नहीं)
जब मैं ब्राउज़र से सीधे एक बाकी अनुरोध करने के लिए प्रयास करें।
उदा पता पट्टी में इस पेस्ट करके:
http://localhost:8080/restExample/rest/catalog/video/14951/hello
जब मैं अपने परीक्षण ग्राहक Main.java चलाने सब कुछ ठीक काम करता है।
कोई विचार यह है कि यह मुझे ब्राउज़र के माध्यम से एक आरईएसटी निष्पादित क्यों नहीं करेगा?
क्लाइंट साइड:
public class Main{
public static void main(String [] args){
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI(_package));
runPutRequest(service,"video/128/This is the content with the new description");
}
}
...
private static void runPutRequest(WebResource service,String path){
String response = service.path("rest/catalog/"+path).accept(MediaType.APPLICATION_XML).put(String.class);
System.out.println("Post Response :"+response);
}
सर्वर साइड:
@PUT
@Path("/video/{video-id}/{short-descr}")
@Consumes(MediaType.TEXT_PLAIN)
@Produces(MediaType.APPLICATION_XML)
public Video updateVideo(@PathParam("video-id") int contentid,
@PathParam("short-descr") String descr)
{
//Video video = searchByContentId(contentid);
Video video = videoMap.get(contentid);
video.setDescription(descr);
videoMap.put(contentid,video);
if(videoMap.get(contentid) != null){
return videoMap.get(contentid);
}else{
throw new UnsupportedOperationException("NO object found");
}
}
पुट बनाम प्राप्त करें .... – esej