0

Google App Engineでバックエンドをホストしていて、残りのAPIがlocalhostでうまく動作します。メソッドURLは次のとおりです。Java Rest APIメソッドは公開後に404が見つかりません。

http://127.0.0.1:8888/rest/plans/getplans/242353 

これはローカルホストで動作し、JSON応答を正しく返します。 GETメソッドとは、メソッドに渡すパラメータです。

しかし、私は、次のURLで私のブラウザ上でそれを呼び出そうとした後、私は、私のGoogleクラウドに公開する場合:

Error: Not Found

The requested URL /rest/plans/getplans/242353 was not found on this server.

:私は私のブラウザ上で、このエラーを取得する

http://2-dot-MY_APP_DOMAIN.appspot.com/rest/plans/getplans/242353 

web.xmlの

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
       http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5" 
     xmlns="http://java.sun.com/xml/ns/javaee"> 


<servlet> 
    <servlet-name>Jersey Web Application</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
    <param-name>com.sun.jersey.config.property.packages</param-name> 
    <param-value>com.dinukapj.socialapp.api</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Jersey Web Application</servlet-name> 
    <url-pattern>/resources/*</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>Jersey Web Application</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

これはなぜ起こるのでしょうか? web.xmlに他の情報を追加する必要がありますか?

答えて

0

web.xmlに定義されているように/ resources/plans/getplans/242353を打つことを試してください

+0

/rest部分がない場合は、 – Dinuka

+0

の代わりに/ rest/plans/getplans/242353 try/resources/plans/getplans/242353 – Abilash

+0

小さな問題、残りのAPIが呼び出されますが、データベースデータは配信されません。このメソッドは、基本的にDBからSELECT *クエリを取得します。 Localhostで動作しますが、公開後は動作しません。公開前にGoogle Cloudで設定する必要のある設定はありますか? @Abilash – Dinuka

関連する問題