小编noi*_*rre的帖子

如何将插件目标绑定到另一个插件目标

在我目前的项目中,我们使用其他插件参数所需的一些插件,如properties-maven-plugin或buildnumber-plugin.

<?xml version="1.0"?>
<project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>mygroup</groupId>
    <artifactId>myartifact</artifactId>
    <packaging>pom</packaging>
    <version>v0</version>
    <name>myProject</name>

    <properties>
            <env>dev</env>
    </properties>

    <build>
      <plugins>
       <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>properties-maven-plugin</artifactId>
          <version>1.0-alpha-2</version>
          <configuration>
             <files>
                <file>${basedir}/configurations/${env}.properties</file>
             </files>
          </configuration>
          <executions>
              <execution>
                  <phase>initialize</phase>
                  <goals>
                      <goal>read-project-properties</goal>
                  </goals>
              </execution>
          </executions>
      </plugin>

      <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>buildnumber-maven-plugin</artifactId>
          <version>1.0-beta-3</version>
          <executions>
              <execution>
                  <phase>initialize</phase>
                  <goals>
                      <goal>create</goal>
                  </goals>
              </execution>
          </executions>
      </plugin>

      <plugin>
          <groupId>com.wakaleo.schemaspy</groupId>
          <artifactId>maven-schemaspy-plugin</artifactId>
          <version>1.0</version>
          <configuration>
              <databaseType>mysql</databaseType>
              <database>${database.schema}</database>
              <host>${database.host}</host>
              <user>${database.user}</user>
              <password>${database.pwd}</password>
              </configuration>
      </plugin>
    </plugins>
   </build>
</project>
Run Code Online (Sandbox Code Playgroud)

问题在于,当您直接执行插件目标时,不会执行初始化阶段(或验证)上绑定的目标.因此要生成模式间谍,我们需要输入:

$> mvn org.codehaus.mojo:properties-maven-plugin:read-project-properties schemaspy:schemaspy
Run Code Online (Sandbox Code Playgroud)

我们想告诉你需要为每个maven命令执行属性插件和buildNumber插件,这样我们就可以输入:

$> mvn schemaspy:schemaspy
Run Code Online (Sandbox Code Playgroud)

是否有一种干净的方法(没有脚本)?

maven-2 maven-plugin

8
推荐指数
1
解决办法
3179
查看次数

如何在每个函数调用中使用带有Flask-RESTPlus的装饰器?

我有问题将装饰器应用到我的Resource.该Api decorators参数被应用到每个资源功能或怎么做我已经明白了decorators参数?我的装饰器仅在启动时应用,而不是在每个函数调用时应用.我究竟做错了什么?

from flask import Flask, Blueprint
from flask.ext.restplus import Api, Resource, fields

app = Flask(__name__)

def my_decorator(input):
    print("my decorator")
    return input

api_blueprint = Blueprint('index', __name__, url_prefix='/0')

api = Api(api_blueprint, version='0.1.0', title='Index API',
    description='The Index API helps to find things faster in the own database',
    # ui=False,
    decorators=[my_decorator]
)

app.register_blueprint(api_blueprint)

ns = api.namespace('index', description='Index API')


search_id_score_model = api.model('id', {
    'id': fields.String(required=True),
    'score': fields.Float(required=True)
})

search_result_model = api.model('result', {
    'key': fields.String(required=True),
    'ids': fields.List(fields.Nested(search_id_score_model, required=True), required=True) …
Run Code Online (Sandbox Code Playgroud)

python python-decorators flask-restplus

6
推荐指数
1
解决办法
3594
查看次数

Ember.js路由:匹配url的结尾

我需要将路径匹配到URL.在给定模式之后,路径必须是URL的结尾,但我不能这样做.Ember.js总是与下一个斜线匹配.

var router = Ember.Router.extend({
    location: 'history',
    enableLogging: true,
    root: Ember.Route.extend({
        index: Ember.Route.extend({
            route: '/'

            repo: Ember.Route.extend({
                route: '/:repo_id',

                index: Ember.Route.extend({
                    route: '/'
                }),

                files: Ember.Route.extend({
                    route: '/files',

                    index: Ember.Route.extend({
                        route: '/'
                    }),

                    sub: Ember.Route.extend({
                        route: '/:path'
                    })
                })
            })
        })
    })
});
Run Code Online (Sandbox Code Playgroud)

有了这个路由器:

  • /myrepo/files/ 会匹配 root.repo.files.index
  • /myrepo/files/README将匹配root.repo.files.subpath=README
  • /myrepo/files/folder/README将匹配root.repo.files.sub,并将重新路由我,/myrepo/files/folder/因为path=folder而不是path=folder/README

:path即使有斜杠,我怎样才能使子路径与URL的末尾匹配?

javascript url-routing ember.js

5
推荐指数
1
解决办法
1236
查看次数

移动 Flask-Restplus Swagger API 文档

我正在尝试使用flask-restplus 在python 中构建一个restful API。我想让 swagger 文档位于与普通“/”不同的位置。

我正在关注此处的文档并已按照说明进行操作。我正在使用 python2.7.3 并具有以下代码~/dev/test/app.py

from flask import Flask
from flask.ext.restplus import Api, apidoc

app = Flask(__name__)
api = Api(app, ui=False)

@api.route('/doc/', endpoint='doc')
def swagger_ui():
    return apidoc.ui_for(api)

app.register_blueprint(apidoc.apidoc)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,python app.py我得到:

Traceback (most recent call last):
  File "app.py", line 7 in <module>
    @api.route('/doc/', endpoint='doc')
  File "/home/logan/.virtualenvs/test/lib/python2.7/site-packages/flask_restplus/api.py", line 191, in wrapper
    self.add_resources(cls, *urls, **kwargs)
  File "/home/logan/.virtualenvs/test/lib/python2.7/site-packages/flask_restplus/api.py", line 175, in add_resource
    super(Api, self).add_resource(resource, *urls, **kwargs)
  File "/home/logan/.virtualenvs/test/lib/python2.7/site-packages/flask_restful/__init__.py", line 396, in add_resource
    self._register_view(self.app, resource, …
Run Code Online (Sandbox Code Playgroud)

python flask swagger swagger-ui flask-restplus

4
推荐指数
1
解决办法
3005
查看次数

Flask-Restplus /路线

我正在尝试使用Flask-Restplus制作一个api,并大张旗鼓地记录下来。

到目前为止,这是我所拥有的,并且工作正常,但不知道如何添加根路由。

from flask import Flask, Blueprint
from flask_restplus import Api, Resource, apidoc

app = Flask('__name__')
blueprint = Blueprint('v1', __name__, url_prefix='/rest/v1')
api = Api(blueprint, ui=False, version='1.0')

@blueprint.route('/apidoc/', endpoint='apidoc')
def swagger_ui():
   return apidoc.ui_for(api)

@blueprint.route('/', endpoint='rootres')
  def root():
     return ''

app.register_blueprint(blueprint)


ns = api.namespace('test', description='desc')

@ns.route('/', endpoint='rootresource')
class RootResource(Resource)
   def get(self):
       ...
Run Code Online (Sandbox Code Playgroud)

虽然/ rest / v1 / test工作正常,但/ rest / v1给我的页面找不到。

如果我这样修改:

@blueprint.route('/aaa', endpoint='rootres')
   def root():
      return ''
Run Code Online (Sandbox Code Playgroud)

然后/ rest / v1 / aaa就可以了。

问题:如何使@ blueprint.route('/')工作?

python flask-restplus

3
推荐指数
1
解决办法
4266
查看次数