Subjects

All subjects Django Java Python React Spring Boot JavaScript PHP
Sign Up Free
Interview question

How do you handle routing and URL patterns in web frameworks? Web frameworks में routing और URL patterns कैसे handle करते हैं?

Answer
# Flask routing
from flask import Flask

app = Flask(__name__)

# Basic route
@app.route('/home')
def home():
    return 'Home Page'

# Route with parameters
@app.route('/user/<username>')
def user(username):
    return f'User: {username}'

# Route with multiple parameters
@app.route('/post/<int:post_id>')
def post(post_id):
    return f'Post ID: {post_id}'

# HTTP methods
@app.route('/submit', methods=['GET', 'POST'])
def submit():
    if request.method == 'POST':
        return 'Form submitted'
    return 'Submit form'

# Django URL patterns
from django.urls import path, re_path
from . import views

urlpatterns = [
    path('home/', views.home, name='home'),
    path('user/<str:username>/', views.user, name='user'),
    path('post/<int:post_id>/', views.post, name='post'),
    re_path(r'^article/(?P<year>[0-9]{4})/$', views.article),
]

# FastAPI routing
from fastapi import FastAPI

app = FastAPI()

@app.get('/home')
async def home():
    return {'page': 'Home'}

@app.get('/user/{username}')
async def user(username: str):
    return {'username': username}

@app.get('/post/{post_id}')
async def post(post_id: int):
    return {'post_id': post_id}

@app.post('/submit')
async def submit(data: dict):
    return {'status': 'submitted', 'data': data}

# URL parameter types
# - str: String (default)
# - int: Integer
# - float: Float
# - path: Path including '/'
# - uuid: UUID
# - bool: Boolean
Flask:
@app.route('/path/<parameter>')

Django:
path('path/<type:name>/', views.function)

FastAPI:
@app.get('/path/{parameter}')

Parameter types:
- str: String
- int: Integer
- float: Float
- path: Include slashes

Was this answer clear?