在Restful webservice方面需要有关@Get @Post @Put @Delete的帮助

时间:2015-12-28 14:02:43

标签: sql web-services rest jersey http-protocols

我需要你的帮助和建议。这是我在球衣上的第一个项目。我对这个话题不太了解。我还在学习。我创建了我的学校项目。但我在Web服务方面遇到了一些问题。首先我要解释一下我的项目。我的数据库中有3个表。的 电影,用户,评分
这是我的电影表专栏。我会问你关于Movie表的Description列的一些要点。我会将这些方法用于这些列 电影= 说明(获取,放置,发布和删除)我必须使用此页面中的所有方法。
     movieTitle (获取)
     pictureURL (get,put)
     generalRating (获取,发布)

我构建了我的描述页面。但我不确定它是否正常工作。(我的数据库还没准备好检查它们)。这是我的页面。我写了这个页面,查看了示例页面。你能帮我找到问题和错误吗?我只想做简单的方法 get (只读数据), post (更新现有数据), put (创建新数据),< em>删除(删除特定数据)这些东西。我现在应该做什么,我的代码还可以,或者你有其他建议吗? :(我需要你的帮助家伙

package com.vogella.jersey.first;

import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.List;
import javax.ejb.*;
import javax.persistence.*;
import javax.ws.rs.*;
import javax.ws.rs.DELETE;
import javax.ws.rs.FormParam;
import javax.ws.rs.OPTIONS;
import javax.ws.rs.PUT;
import javax.ws.rs.PathParam;
import javax.ws.rs.core.Context;




@Path("/Movie/Description")
public class Description {

    private Moviedao moviedao = new Moviedao();

@GET
@Path("/Description/")
@Produces(MediaType.APPLICATION_XML)
public Description getDescriptionID(@PathParam("sample6") string sample6){
        return moviedao.getDescriptionID(id);
}

@POST
@Path("/Description/")
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void updateDescription(@PathParam("sampleID")int sampleID,
        @PathParam("sample2Description")string sample2Description) 
        throws IOException  {
          Description description = new Description (sampleID, sample2Description);
          int result = moviedao.updateDescription(description);
          if(result == 1){
             return SUCCESS_RESULT;
          }
          return FAILURE_RESULT;
}

@PUT
@Path("/Description")
@Produces(MediaType.APPLICATION_XML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public String createUser(@FormParam("sample8ID") int sample8ID,
   @FormParam("sample8Description") String sample8Description,
   @Context HttpServletResponse servletResponse) throws IOException{
   Description description = new Description (sample8ID, sample8Description);
   int result = movidao.addDescription(description);
   if(result == 1){
      return SUCCESS_RESULT;
   }
   return FAILURE_RESULT;
}

@DELETE
@Path("/Description/{descriptionID}")
@Produces(MediaType.APPLICATION_XML)
public String deleteUser(@PathParam("descriptionID") int descriptionID){
   int result = moviedao.deleteDescription(descriptionID);
   if(result == 1){
      return SUCCESS_RESULT;
   }
   return FAILURE_RESULT;
}

@OPTIONS
@Path("/Description")
@Produces(MediaType.APPLICATION_XML)
public String getSupportedOperations(){
   return "<operations>GET, PUT, POST, DELETE</operations>";
}


}

1 个答案:

答案 0 :(得分:0)

  

我只想做简单的方法get(只读数据), post(更新   现有数据),放(创建新数据),删除(删除特定数据)   这些东西

POST 应该用于创建资源, PUT 应该用于更新资源。

您的课程已有网络服务路径 /电影/说明,因此无需在方法中重复说明字样。

另外,我建议保留小写字母名称,例如/电影/描述