{"result":{"depiction_url":null,"edges":{},"id":2626,"is_a":["categorization","keyword","keyword_architecture"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2626"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"zotonic_topic_controller","page_url":{"en":"https:\/\/zotonic.com\/page\/2626\/controller","x-default":"https:\/\/zotonic.com\/page\/2626\/controller"},"preview_url":null,"resource":{"subject_topic_source_url":"https:\/\/github.com\/zotonic\/zotonic\/tree\/master\/apps\/zotonic_core","version":1,"pivot_location_lat":null,"title":"Controller","is_authoritative":true,"body":"<h2>For programmers<\/h2><p>Covers dispatch integration request parsing ACL content negotiation and response headers.<\/p><h2>For content editors<\/h2><p>Determines what a page URL form endpoint download or feed does.<\/p>","slug":"controller","subject_topic_evidence":"50 controller module docs","is_protected":true,"visible_for":0,"tz":"Europe\/Amsterdam","subject_topic_aliases":["HTTP handler","request controller"],"language":["en"],"is_featured":false,"content_group_id":{"id":339,"is_a":["meta","content_group"],"name":"default_content_group","title":{"_type":"trans","tr":{"en":"Default Content Group"}},"uri":"https:\/\/zotonic.com\/id\/default_content_group"},"category_id":{"id":2544,"is_a":["meta","category"],"name":"keyword_architecture","title":"Architecture","uri":"https:\/\/zotonic.com\/id\/keyword_architecture"},"publication_start":"2026-09-09T13:41:25Z","pivot_location_lng":null,"name":"zotonic_topic_controller","is_unfindable":false,"is_published":true,"summary":"A request handler that maps web requests to responses and coordinates authorization rendering or data transfer.","subject_topic_facet":"architecture","pivot_geocode":null,"subject_topic_content_editor_context":"Determines what a page URL form endpoint download or feed does.","subject_topic_slug":"controller","created":"2026-09-09T13:41:25Z","uri":null,"is_dependent":false,"publication_end":"9999-06-01T00:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"subject_topic_hash":"d8bd74007a408b2ea5efba31f8ded426154b892148bf851757470729747b1214","creator_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"modified":"2026-09-09T13:41:25Z","title_slug":"controller","subject_topic_priority":"core","subject_topic_programmer_context":"Covers dispatch integration request parsing ACL content negotiation and response headers."},"uri":"https:\/\/zotonic.com\/id\/2626","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/2626"}},"status":"ok"}