переменная из параметра @PUT в веб-сервисе правильная? - PullRequest
0 голосов
/ 29 марта 2011

Это правильно?

Я хочу получить переменную из параметра метода @PUT в веб-службе REST.

Но я получаю переменную "Null", как получить параметр?

Может кто-нибудь сказать мне?

@PUT
@Produces("application/html")
public Response postContainer(@PathParam("objecturi")String path){

    mongoDAOImpl impl=new mongoDAOImpl();
    Mongo mongo=impl.getConnection("127.0.0.1","27017");
    DB db=impl.getDataBase(mongo,"public");
    DBCollection coll=impl.getColl(db,"public");
    mongoDTO dto=new mongoDTO();
    dto.setParentpath("/home/public/liren");
    dto.setUserName("liren");
    dto.setPassWord("liren");
    dto.setFileName(path);
    dto.setAbsolutepath(dto.getParentpath()+"/"+dto.getFileName());

    boolean bool;
     try{
         file= new filemethods();
         bool=file.createcontainers(coll, dto, path);
         if(bool==true){
             return Response.status(Response.Status.OK).build();

         }else {
             return Response.status(Response.Status.NOT_ACCEPTABLE).build();
         }
     }catch(Exception ex){
         return Response.status(Response.Status.BAD_REQUEST).tag("Container create error"+ex.toString()).build();
     }

Ответы [ 3 ]

1 голос
/ 29 марта 2011

Что у вас есть в вашей @Path аннотации?В основном, если вы хотите, чтобы ваш код работал, у вас должно быть что-то вроде @Path("/url/{objecturi}")

1 голос
/ 29 марта 2011

Является ли параметр вашего метода параметром http, например / uri? Objecturi = / some / path?Затем вы должны использовать @QueryParam ("objecturi") вместо @PathParam ("objecturi").

0 голосов
/ 29 июня 2011

Для HTTP PUT-метода вам необходимо использовать параметры формы с MIME-типом «application / x-www-form-urlencoded» вашего HTTP-заголовка и аннотацией @QueryParam.

@PUT
@Produces("application/html")
@Consumes("application/x-www-form-urlencoded")
public Response postContainer(@QueryParam("objecturi")String path){
...
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...