首先,对于那些人来说,周末愉快!为了另一个好运:))
我正在使用rest架构创建一个应用程序。
我只是有一个简单的问题,但我不知道如何解释它。
所以,让我们举一个例子,也许问题会出现。
想象一下,你有一个名为Car的路径元素。如果我对它进行GET,则返回carInformation
所以我要定义:
@GET
@Path("/car/{carid}/display")
public Response getCar(@PathParam("carid")String carID)
如果我定义要对此车执行的操作,例如打开,关闭,启动等:
@POST
@Path("/car/{carid}/startup")
public Response startup(@PathParam("carid")String carID)
@POST
@Path("/car/{carid}/open")
public Response open(@PathParam("carid")String carID)
@POST
@Path("/car/{carid}/close")
public Response close(@PathParam("carid")String carID)
是否在/ car / {carid}进行了常见的检查,例如"是我的车吗?" "它在车库里吗?"或者我是否必须使用抽象来实现它,例如在
之后调用的进程之间事实上,我并不了解路径参数的真正目标。为什么不做
@GET
@Path("/car/displayCar")
public Response getCar(@QueryParam("carid")String carID)
@POST
@Path("/car/startup")
public Response startup(String carID)
@POST
@Path("/car/{carid}/open")
public Response open(String carID)
@POST
@Path("/car/{carid}/close")
public Response close(String carID)
感谢所有人提前回答
祝你好运
Geoffrey MUSELLI
答案 0 :(得分:0)
有很多方法可以解决这个问题,包括REST和RPC - 我不是要说哪个更好(你需要评估哪个更容易/更好/等等对你的API的消费者来说[ IMO])。为此,我将使用REST方法来实现它。
为了显示单个车辆的信息,不需要以'display'结尾的端点。对/ car / {car id}的 GET 请求就足够了。该文档可以包含汽车当前状态(打开,关闭,运行,爆炸等等)。 GET 是您的行动,/ car / {car id}是您的事情,并且它返回的文档(并通过 POST 或 PUT 除外是API的协议)