3

たとえば、次の関数を使用して、ハグでスラッシュを含む文字列を渡す方法はありますか:

import hug

@hug.get("/returnfilecontent/{path}")
def doubles(path):
    return open(path, 'r').read()

http://localhost/returnfilecontent/foo/bar/myfile.mdにあるファイルからコンテンツを読み取るために にアクセスしたいfoo/bar/myfile.md

ハグはパスではうまく動作しないようで、次のようなパス以外の文字列しか渡すことができませんhttp://localhost/returnfilecontent/myfile.md

4

1 に答える 1

1

これがあなたが探しているものかどうかわかりませんが、これが役立つかもしれません

import hug

@hug.get("/returnfilecontent")
def doubles(request, path: hug.types.text):
    return open(path, 'r').read()

この get リクエストを次のように呼び出すことができます

curl http://localhost:8000/returnfilecontent/\?path\=foo\/bar\/myfile.md

または、それらを foo_bar_myfile.md として渡し、分割して結合してパスにすることもできます

またはこのように

import hug

@hug.get("/returnfilecontent/{base_path}/{middle_folder}/{filename}")
def doubles(request, base_path: hug.types.text, middle_folder, filename):
    return f"{base_path}/{middle_folder}/{filename}"
于 2019-12-17T10:34:34.440 に答える