Java 什么';Servlet Get和WebSerivce Rest Get之间的区别是什么?
当我开发一个servlet并重写doGet方法时,我可以访问URL中传递的参数值,比如req.getParameter(“myParam”)。URL将类似于。 对于RESTWebService(假设实现是Jersey)的情况,如果我像这样创建Get服务Java 什么';Servlet Get和WebSerivce Rest Get之间的区别是什么?,java,rest,curl,servlets,jersey,Java,Rest,Curl,Servlets,Jersey,当我开发一个servlet并重写doGet方法时,我可以访问URL中传递的参数值,比如req.getParameter(“myParam”)。URL将类似于。 对于RESTWebService(假设实现是Jersey)的情况,如果我像这样创建Get服务 @Get @Path("myfunction") @Compress @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JS
@Get
@Path("myfunction")
@Compress
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response myfunction(@QueryParam("myParam") String myParam)
url将如下所示
这两个URl都可以使用curl或postman调用,但我不明白它们之间的区别是什么
我如何制作一个Get-Rest服务(使用jersey),使URL像这样,在后端我可以得到这个myparam
谢谢,因为您返回的是
JSON
,所以这个函数可以用作web服务。对于servlet,我们通常重定向或加载另一个页面(ftl、jsp等),但在这里使用这个函数,因为它希望您生成JSON作为输出,所以您也可以将其用作服务
我们通常面临的另一个区别是,应用程序中的功能是安全的,我们需要在访问特定的GET
调用之前登录
在这里,您不需要任何身份验证,它是一个普通的
GET
调用,输出JSON
,因此您也可以将此特定函数用作Web服务。很简单,只需使用@queryparam,它们就会相同。
例如:
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
@Path("/users")
public class UserService {
@GET
@Path("/query")
public Response getUsers(
@QueryParam("from") int from,
@QueryParam("to") int to,
@QueryParam("orderBy") List<String> orderBy) {
return Response
.status(200)
.entity("getUsers is called, from : " + from + ", to : " + to
+ ", orderBy" + orderBy.toString()).build();
}
}
the URL pattern will be like
URI Pattern : “users/query?from=100&to=200&orderBy=age&orderBy=name”
import java.util.List;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.QueryParam;
导入javax.ws.rs.core.Response;
@路径(“/users”)
公共类用户服务{
@得到
@路径(“/query”)
公众回应(
@QueryParam(“from”)int from,
@QueryParam(“to”)int to,
@QueryParam(“订购者”)列表订购者){
返回响应
.现状(200)
.entity(“调用getUsers,从:“+from+”,到:“+to
+,orderBy“+orderBy.toString()).build();
}
}
URL模式如下
URI模式:“用户/查询?from=100&to=200&orderBy=age&orderBy=name”
注意,GET
方法并不意味着您需要传递查询参数。没有任何查询参数的简单url也可以使用GET
方法。如前所述,我不确定,你的实际问题是什么。我如何制作一个Get-Rest服务(使用jersey),这样URL就会像这样,并且在后端我可以得到这个myparam?(有可能吗?)这里有一个详细的教程,您需要导入jersy api和libs以使其工作RESTful
url模式不同于使用querystring。Read@RavinderReddy表示同意,但这个url将返回json,然后可以对其进行解析和利用。lol,如果您已经知道,那么为什么要发布这个问题?即使你们发布了问题,那个么你们也应该发布你们自己的答案,而不是某个已经存在的链接。如果明天这个链接断了怎么办?