Skip to content
ErikL edited this page May 4, 2016 · 2 revisions

REST-dokumentation med Swagger

Vad är detta?

För webcert har vi satt upp Swagger för att enkelt kunna se vilka REST-api:er vi har, vilka URL:ar de finns på och även testköra endpoints. Givetvis endast aktivt i !prod.

Var hittar jag Swagger?

På lokal utvecklingsmiljö hittar man Swaggers startsida på:

http://localhost:9088/swagger-ui/index.html

OBS! För att kunna testa endpoints måste man logga in i samma webbläsare först!

Hur lägger jag in min nya REST-endpoint i Swagger?

  1. Lägg till @Api på klassnivå, t.ex:

     @Path("/fmb")
     @Api(value = "fmb", description = "REST API för Försäkringsmedicinskt beslutsstöd", produces =   MediaType.APPLICATION_JSON)
     public class FmbApiController extends AbstractApiController {
    
  2. Om det är en helt nytt java-paket under se.inera.intyg.webcert.web.web.controller så behöver man lägga till ett nytt entry i swagger-api-context.xml:

     <!-- key   == sub-package of se.inera.intyg.webcert.web.web.controller, also used as path param for the /services/swagger/{api} -->
     <!-- value == base path of the service. Used to get the correct basepath when calling services from swagger-ui. -->
     <property name="basepathMap">
       <map>
         <entry key="api" value="/api"/>
         <entry key="moduleapi" value="/moduleapi"/>
         <entry key="monitoring" value="/monitoring/health-check"/>
         <entry key="integration" value="/visa"/>
         <entry key="legacyintegration" value="/webcert/web/user"/>
         <entry key="testability" value="/testability"/>
         <entry key="authtestability" value="/authtestability/user"/>
       </map>
     </property>
    

Man får alltså se till att ens nya endpoint får samma rot-sökväg som övriga Controllers i samma paket.

Clone this wiki locally