0
我有一個正在運行的RESTful API,可以正常工作。我使用帶有JS的HTML來訪問我的REST方法,使用Jersey和Tomcat7來託管它。這是代碼:爲什麼錯誤的路徑註釋不會使REST API與Jersey崩潰?
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());
}
}
的問題是,如果我在<url-pattern>/rest/*</url-pattern>
改變我web.xml
爲類似<url-pattern>/reste/*</url-pattern>
Tomcat的說明會自動更改爲「重新啓動」,並重新啓動後,所有路由都改爲訪問我的REST方法。爲什麼我將@Path("/")
更改爲@Path("/pessoa/*")
之類的東西沒有任何反應,甚至保存所有項目,刪除Tomcat,創建另一個服務器並在其上發佈。這條線是否重要?我在教程中看到它,從不改變。澤西使用這樣的東西嗎?
的問題是,即使這樣做,錯了沒有真的發生了,我的老路子工作得很好。我的問題是爲什麼這種尷尬的行爲正在發生? – GabrielRado
不知道。但是,值得嘗試使用正確的路徑註釋。也許它忽略了它,因爲它是錯誤的。嘗試改變例如** @ Path(「escreve」)**,是否正確註冊終結點? – kimy82