Нужна помощь по поводу @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