4

如何使用 Flask restplus 设置路径变量的默认值?

例如,使用以下内容:

@api.route('/calendars/coordinates/<string:latitude>/<string:longitude>/years/<string:year>')
class DailyCalendarHandler(Resource):
  get_parser = reqparse.RequestParser()
  get_parser.add_argument('timezone', type=str, default='Asia/Calcutta', help='Example: Asia/Calcutta', location='args', required=True)
  get_parser.add_argument('encoding', type=str, default='devanagari', help='Example: iast, devanagari, kannada, tamil', location='args',
                          required=True)

  @api.expect(get_parser)
  def get(self, latitude, longitude, year):
    args = self.get_parser.parse_args()
    city = City("", latitude, longitude, args['timezone'])

如何设置年份、纬度和经度的默认值?

如果它是一个请求变量,可以执行以下操作:

get_parser = reqparse.RequestParser()
get_parser.add_argument('output_transliteration', location='args', default='devanagari', help='devanagari/slp1/iast/hk/wx/itrans/kolkata/velthuis')
4

1 回答 1

2

您可以在类上方定义多个 URL 规则并定义参数的默认值。就像是:

@api.route('/calendars/coordinates', defaults={'latitude':123, 'longitude': 56})
@api.route('/calendars/latitude/<string:latitude>/longitude/<string:longitude>/years/<string:year>')
    class DailyCalendarHandler(Resource):

  def get(self, latitude, longitude, year='2017'):
于 2018-02-01T10:05:34.163 回答