Нужна помощь по поводу @Get @Post @Put @Delete в веб-сервисе Restful

Мне нужна твоя помощь и совет. Это мой первый проект в Джерси. Я не знаю много об этой теме. Я еще учусь. Я создал свой школьный проект. Но у меня есть некоторые проблемы на стороне веб-сервиса. Сначала я должен объяснить свой проект. У меня есть 3 таблицы в моей базе данных. Фильм, Пользователь, рейтинги
Здесь мои столбцы таблицы Movie. Я задам вам несколько вопросов о столбце "Описание" таблицы "Фильм". Я буду использовать эти методы для этих столбцов.
Фильм = Описание (получить, поставить, опубликовать и удалить) Я должен использовать все методы на этой странице.
movieTitle (получить)
pictureURL (получить, поставить)
GeneralRating (получить, опубликовать)

Я построил свою страницу описания. Но я не уверен, работает ли он или нет. (Моя база данных не готова проверить их). Вот моя страница. Я написал эту страницу, глядя на примеры страниц. Можете ли вы помочь мне найти проблемы и ошибки. Я просто хочу сделать простые методы: получить(просто читать данные), опубликовать(обновить существующие данные), поместить(создать новые данные), удалить(удалить конкретные данные) эти вещи. Что мне теперь делать, мой код в порядке или вы есть альтернативный совет?:(Мне нужна ваша помощь, ребята, ты

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 ответ

Я просто хочу сделать простые методы получить (просто чтение данных), опубликовать (обновить существующие данные), поместить (создать новые данные), удалить (удалить конкретные данные) эти вещи

POST должен использоваться для создания ресурсов, а PUT должен использоваться для обновления ресурсов.

Ваш класс уже имеет путь к веб-сервису / Movie / Description, поэтому нет необходимости повторять слово Description в методах.

Кроме того, я бы порекомендовал хранить имена путей в нижнем регистре, например /movie/description

Другие вопросы по тегам