{"id":630,"date":"2022-02-23T12:24:38","date_gmt":"2022-02-23T11:24:38","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=630"},"modified":"2022-02-25T18:35:03","modified_gmt":"2022-02-25T17:35:03","slug":"come-passare-variabili-url-alle-api-flask","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/come-passare-variabili-url-alle-api-flask\/","title":{"rendered":"Come passare variabili URL alle API Flask"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"630\" class=\"akihiro akihiro-630\" data-akihiro-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"akihiro-section akihiro-top-section akihiro-element akihiro-element-3ad2b59 akihiro-section-boxed akihiro-section-height-default akihiro-section-height-default\" data-id=\"3ad2b59\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"akihiro-container akihiro-column-gap-default\">\n\t\t\t\t\t<div class=\"akihiro-column akihiro-col-100 akihiro-top-column akihiro-element akihiro-element-432fb07\" data-id=\"432fb07\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"akihiro-widget-wrap akihiro-element-populated\">\n\t\t\t\t\t\t<div class=\"akihiro-element akihiro-element-07ca94b akihiro-widget akihiro-widget-text-editor\" data-id=\"07ca94b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Cosa comune \u00e8 quella di dover passare valori da una funzione all&#8217;altra. Ipotiziamo che dalla nostra pagina HTML dobbiamo passare a nuova pagina passando dei valori variabili ad una funzione che esegua qualcosa prima di eseguire il rendering della nuova pagina.<\/p><p>In questo caso tornano molto utili le variabili URL che ci permettono di passare uno o pi\u00f9 valori tra le pagine.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-0a01eee akihiro-widget akihiro-widget-heading\" data-id=\"0a01eee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h2 class=\"akihiro-heading-title akihiro-size-default\">Strutture degli URL con variabili<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-89e99af akihiro-widget akihiro-widget-text-editor\" data-id=\"89e99af\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Una tipica struttura di un URL con dei parametri \u00e8 la seguente<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3ab6396 akihiro-widget akihiro-widget-code-highlight\" data-id=\"3ab6396\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia  \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-markup \">\n\t\t\t\t<code readonly=\"true\" class=\"language-markup\">\n\t\t\t\t\t<xmp>http:\/\/127.0.0.1:5000?name=Maya&age=4<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-4499592 akihiro-widget akihiro-widget-text-editor\" data-id=\"4499592\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Alternativamente un altro modo per comporre l&#8217;URL \u00e8 quello di usare le variabili URL<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-a746173 akihiro-widget akihiro-widget-code-highlight\" data-id=\"a746173\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia  \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-markup \">\n\t\t\t\t<code readonly=\"true\" class=\"language-markup\">\n\t\t\t\t\t<xmp>http:\/\/127.0.0.1:5000\/Maya\/4<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ac22245 akihiro-widget akihiro-widget-text-editor\" data-id=\"ac22245\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Qui di seguito vediamo invece come sono strutturate le due funzioni che intercettano i parametri o le variabili URL.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-e8c28be akihiro-widget akihiro-widget-code-highlight\" data-id=\"e8c28be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>from flask import Flask, jsonify, request\r\napp = Flask(__name__)\r\n \r\n \r\n@app.route('\/with_parameters')\r\ndef with_parameters():\r\n    name = request.args.get('name')\r\n    age = int(request.args.get('age'))\r\n    return jsonify(message=\"My name is \" + name + \" and I am \" + str(age) + \" years old\")\r\n\r\n@app.route('\/with_url_variables\/<string:name>\/<int:age>')\r\ndef with_url_variables(name: str, age: int):\r\n    return jsonify(message=\"My name is \" + name + \" and I am \" + str(age) + \" years old\")\r\n\r\nif __name__ == '__main__':\r\n    app.run()<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Cosa comune \u00e8 quella di dover passare valori da una funzione all&#8217;altra. Ipotiziamo che dalla nostra pagina HTML dobbiamo passare a nuova pagina passando dei valori variabili ad una funzione che esegua qualcosa prima di eseguire il rendering della nuova pagina. In questo caso tornano molto utili le variabili URL che ci permettono di passare [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[28,12],"class_list":["post-630","post","type-post","status-publish","format-standard","hentry","category-programmazione","tag-flask","tag-python"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=630"}],"version-history":[{"count":18,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/630\/revisions"}],"predecessor-version":[{"id":648,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/630\/revisions\/648"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}