Uber APIサンプルのJAX-RSサーバーコードをスワッガーで生成しました。私はこのURLにアクセスするとWebsphereでスワッガーで生成されたJAXRSサーバーコードをデプロイする方法
Error 404: javax.servlet.ServletException: java.io.FileNotFoundException: SRVE0190E: File not found: /v1/swagger.json
:http://localhost:9080/swagger-jaxrs-server/v1/swagger.json
私はdidnのそれはhttp://editor.swagger.io/#/
を開くことによって見つけることができますJSONは、今私は、WebSphereでそれを展開しようとしたが、私はメッセージの下を参照してください。デフォルトであります自動生成されたコードを変更しないでください。私はWLP-javaee7-8.5.5.9
使用しています
は、これは私のserver.xmlファイルがどのように見えるかです:
<server description="new server">
<!-- Enable features -->
<featureManager>
<feature>javaee-7.0</feature>
<feature>localConnector-1.0</feature>
<feature>apiDiscovery-1.0</feature>
</featureManager>
<basicRegistry id="basic" realm="BasicRealm">
<!-- <user name="yourUserName" password="" /> -->
</basicRegistry>
<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>
<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true"/>
<applicationMonitor updateTrigger="mbean"/>
<webApplication id="swagger-jaxrs-server" location="swagger-jaxrs-server.war" name="swagger-jaxrs-server"/>
は、誰かがここに欠けているものを指すことができます。
UPDATE:1
このURLは正常に動作している:http://localhost:8080/swagger-jaxrs-server/swagger.json。
だから、私は... 2つのURLの下にしようとしたが、両方が動作しませんでした:これは、JSONの一部です。
http://localhost:8080/swagger-jaxrs-server/estimates/price
http://localhost:8080/swagger-jaxrs-server/v1/estimates/price
自動生成されたコードでweb.xmlが表示されません。
この@ApplicationPath( "/ v1")はどこに追加する必要がありますか?アプリケーションクラスを拡張しているクラスはありません。私は新しいクラスを作るべきですか?私の質問の更新セクションを見てください。 – javaMan
生成されたコードでは、 "Jaxrs spec"フレーバを使用して生成した場合、src/main/java/io/swagger/api/RestApplication.javaが使用されます。そのコンテナは(JAX-RSジェネレータはJerseyを使用していますが、アプリケーションサーバ間では必ずしもうまく機能しません) – ebullient
私はJAX-RSジェネレータを使用しました。あなたの提案の後、私はJaxrs仕様を使用し、すべてが正常に機能しました。これら2つの発電機の違いは何ですか? – javaMan