2016-07-27 12 views
1

Ich benutze tolle Spring REST Docs, um die Dokumentation meiner Spring Data Rest-Anwendung zu generieren. Dazu füge ich die generierten Snippets in eine .adoc Datei ein, die dann in HTML gerendert wird (genau wie in der Spring REST Docs Dokumentation beschrieben).Spring REST Docs: Lesen Spring-Eigenschaft von .adoc-Datei

Meine Frage: ist das möglich, von der .adoc Datei, eine Federeigenschaft zu lesen (zum Beispiel in application.properties definiert)?

Danke :)

+0

Es ist nicht möglich out-of-the-box, aber Asciidoctor ist sehr erweiterbar, also bin ich mir ziemlich sicher, dass Sie etwas Code dazu schreiben könnten. Was ist dein Anwendungsfall? –

+1

Welches Build-System verwendest du? Ich denke, du könntest es leicht mit Gradle schaffen. –

Antwort

2

@Andy Wilkinson: Vielen Dank an Ihre schnelle Antwort!

In der Tat ist es möglich, es mit Gradle zu tun. Ich habe es nicht bemerkt, aber ich habe bereits eine Eigenschaft in die .adoc-Datei mit der Standardaufgabe asciidoctor "injiziert", wie in der Spring REST Docs-Dokumentation beschrieben.

ext { 
    myProperty='here my custom property' 
} 

asciidoctor { 
    ... 
    attributes 'my-property': myProperty 
} 

my-Eigenschaft kann nun verwendet werden, in .adoc Datei:

Um eine benutzerdefinierte Eigenschaft (build.gradle) hinzuzufügen.

Fügen Sie hier hinzu und um eine Lösung für die Basisfrage bereitzustellen, können Sie hier eine Gradle-Eigenschaft in der Spring-Eigenschaftendatei verwenden.

In build.gradle:

processResources { 
    filesMatching('**/*.properties') { expand([ 
      myProperty: myProperty 
    ])} 
} 

In application.properties:

api.myProperty=${myProperty} 

Die Eigenschaft myProperty kann nun einmal in Gradle-Datei erstellen definiert werden und dann verwendet werden, sowohl im Frühjahr Eigenschaften und Asciidoctor Dokumentation.