0

リソース クラスは次のように定義されます。

@Path("v1")
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public class RestApi {

そして、私は次のように定義されたメソッドを持っています:

@GET
@Path("patients")
public String patients(

enunciate doc ゴールを実行するために maven コマンドを実行すると、生成された wadl は次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <wadl:doc xmlns:enunciate="http://enunciate.codehaus.org/" enunciate:generatedBy="Enunciate-1.27"/>
  <wadl:grammars>
    <wadl:include href="ns0.xsd"/>
  </wadl:grammars>
  <wadl:resources base="http://localhost:8888/app/api">
...
    <wadl:resource path="/rest/v1/patients">
      <wadl:method name="GET">

この「/rest/」は、リソース パスのどこから来ていますか? 私は自分のプロジェクトのあらゆる場所を検索しましたが、それへの参照はありません。

これが私のenunciate.xml設定ファイルです:

<enunciate label="Rest API"
           xsi:noNamespaceSchemaLocation="http://enunciate.codehaus.org/schemas/enunciate-1.28.xsd"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <deployment host="localhost:8888" context="/app/api"/>

</enunciate>
4

1 に答える 1

2

どうやら「/rest」は単なるデフォルト値です。これを enunciate.xml ファイルに追加することで、何も変更できません。

<services>
     <rest defaultRestSubcontext="/" />
</services>
于 2014-02-08T00:57:51.520 に答える