2017-02-15 14 views
1

Я пытаюсь создать файл спецификации для go implementation of petstore example. Я попробовал go generate в директории с doc.go, но ничего не сделал. При дальнейшем чтении, я понял, что должен бытьGoswagger не создает соответствующий json spec файл

//go:generate swagger generate spec -o swagger.json

в doc.go. Когда я добавил, что он создает спецификационный файл, но он не содержит всю спецификацию. Это .json файл, который создают на go generate

{ 
    "consumes": [ 
    "application/json" 
    ], 
    "produces": [ 
    "application/json" 
    ], 
    "schemes": [ 
    "http", 
    "https" 
    ], 
    "swagger": "2.0", 
    "info": { 
    "description": "the purpose of this application is to provide an application\nthat is using plain go code to define an API\n\nThis should demonstrate all the possible comment annotations\nthat are available to turn go code into a fully compliant swagger 2.0 spec", 
    "title": "Petstore API.", 
    "termsOfService": "there are no TOS at this moment, use at your own risk we take no responsibility\ngo:generate swagger generate spec -o swagger.json", 
    "contact": { 
     "name": "John Doe", 
     "url": "http://john.doe.com", 
     "email": "[email protected]" 
    }, 
    "license": { 
     "name": "MIT", 
     "url": "http://opensource.org/licenses/MIT" 
    }, 
    "version": "0.0.1" 
    }, 
    "host": "localhost", 
    "basePath": "/v2", 
    "paths": {} 
} 

Там нет подходящих маршрутов/параметры/модели, указанные в файле спецификации. Так ли это должно быть? Это официальный пример из репозитория goswagger, поэтому я сомневаюсь, что код неправильный. Что я должен изменить, чтобы заставить его работать?

ответ

0

Код, который вы хотите документировать, должен быть доступен из основного пакета. Это означает, что из основного пакета его использование должно быть обнаружено. Итак, если у вас есть рабочий сервер, который не подключен через какие-либо средства отражения, он будет генерировать правильную спецификацию.