gpt4 book ai didi

java - 为什么错误的路径注释不会使 Jersey 的 REST API 崩溃?

转载 作者:行者123 更新时间:2023-11-28 23:22:51 24 4
gpt4 key购买 nike

我有一个正在运行的 RESTful API,完全可以正常工作。我正在使用带有 JS 的 HTML 来访问我的 REST 方法,并使用 Jersey 和 Tomcat7 来托管它。这是代码:

package pact;

import java.io.IOException;
import java.util.List;
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 com.google.gson.Gson;

import repo.Pessoa;
import repo.Repo;

@Path("/")
public class Rest {

Gson gson = new Gson();

@POST
@Path("escreve")
@Consumes(MediaType.APPLICATION_JSON)
public void escreve(String dado) throws IOException {
Pessoa pessoa = gson.fromJson(dado, Pessoa.class);
Repo.escreve(pessoa);
}

@GET
@Path("le")
@Produces(MediaType.APPLICATION_JSON)
public String le() {
List<Pessoa> list = Repo.le();
String json = gson.toJson(list);
return json;
}

@POST
@Path("loja")
@Consumes(MediaType.APPLICATION_JSON)
public void loja(String dado){
Repo.seleciona(gson.fromJson(dado, Pessoa.class));
}

@GET
@Path("lojale")
@Produces(MediaType.APPLICATION_JSON)
public String lojale() {
return gson.toJson(Repo.retorna());
}

问题是,如果我更改我的 web.xml<url-pattern>/rest/*</url-pattern>类似于 <url-pattern>/reste/*</url-pattern> Tomcat 的描述自动更改为“重新启动”,重新启动后,所有路由都更改为访问我的 REST 方法。为什么我改变@Path("/")类似于 @Path("/pessoa/*")没有任何反应,甚至保存所有项目、删除 Tomcat、创建另一个服务器并在其上发布。这条线重要吗?我在教程中看到过它并且从未改变过。 Jersey 是否使用这样的东西?

最佳答案

您是否尝试设置 @Path("/pessoa/") 而不是 @Path("/pessoa/*") 。我认为你不需要 * 因为只有 /pessoa/ 本身会匹配 /pessoa/pessoa/something

关于java - 为什么错误的路径注释不会使 Jersey 的 REST API 崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40979733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com