{
  "id": 7020821,
  "title": "XML Configuration Mode: Decoupling Your API Catalog from Business Code",
  "url": "https://urgent.news/2026/09/12/xml-configuration-mode-decoupling-your-api-catalog-from-business-code",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-12T23:23:45.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/paohaijiao/xml-configuration-mode-decoupling-your-api-catalog-from-business-code-56nm"
  },
  "original_language": "en",
  "account": "XML Configuration Mode offers a way to separate the API catalog from business code, eliminating the need for annotations in Java code. This approach provides a declarative client split, where contract resides in configuration files while behavior stays in code. The process involves creating an XML API catalog with the official DTD, binding it to a plain Java interface, and using context variables in XML. The XML file names each request and declares its return type, and a factory binds those entries to interface methods by method name. Changing the curl in XML results in a change in the running app behavior, without any Java edits or rebuilds. This approach is particularly useful when API surface is wide and changes often.",
  "summary": "Annotation mode keeps requests close to Java, but large integrations raise a fair question: do I want a wall of curl strings inside my service interfaces? JQuickCurl's XML mode answers with a firm no — you store every API definition in a separate XML file, and the business layer only sees plain Java interfaces with no annotations at all. This is the classic \"declarative client\" split: contract in…",
  "key_points": [
    "XML Configuration Mode separates API catalog from business code",
    "Uses declarative client split with contract in configuration files",
    "Changing XML entries alters app behavior without Java edits"
  ],
  "editors_take": "Decoupling the API catalog from business code through XML Configuration Mode allows for flexible and dynamic changes to application behavior without requiring Java code edits or rebuilds.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}