{"record":{"id":"602bf8c0e3d22d5e","repo":"quarkusio/quarkus","slug":"name-is-null","errorCode":null,"errorMessage":"Name is null","messagePattern":"Name is null","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"independent-projects/resteasy-reactive/common/runtime/src/main/java/org/jboss/resteasy/reactive/common/jaxrs/UriBuilderImpl.java","lineNumber":1084,"sourceCode":"            return this;\n        }\n        this.path = Encode.encodePath(path);\n        return this;\n    }\n\n    public URI build(Object[] values, boolean encodeSlashInPath) throws IllegalArgumentException, UriBuilderException {\n        if (values == null)\n            throw new IllegalArgumentException(\"Values is null\");\n        return buildFromValues(encodeSlashInPath, false, values);\n    }\n\n    public String toTemplate() {\n        return buildString(new HashMap<String, Object>(), true, true, true);\n    }\n\n    public UriBuilder resolveTemplate(String name, Object value) throws IllegalArgumentException {\n        if (name == null)\n            throw new IllegalArgumentException(\"Name is null\");\n        if (value == null)\n            throw new IllegalArgumentException(\"Value is null\");\n        HashMap<String, Object> vals = new HashMap<String, Object>();\n        vals.put(name, value);\n        return resolveTemplates(vals);\n    }\n\n    public UriBuilder resolveTemplates(Map<String, Object> templateValues) throws IllegalArgumentException {\n        if (templateValues == null)\n            throw new IllegalArgumentException(\"Template values null\");\n        if (templateValues.containsKey(null))\n            throw new IllegalArgumentException(\"map key null\");\n        return uriTemplate(buildCharSequence(templateValues, false, true, true));\n    }\n\n    public UriBuilder resolveTemplate(String name, Object value, boolean encodeSlashInPath) throws IllegalArgumentException {\n        if (name == null)\n            throw new IllegalArgumentException(\"Name is null\");","sourceCodeStart":1066,"sourceCodeEnd":1102,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/resteasy-reactive/common/runtime/src/main/java/org/jboss/resteasy/reactive/common/jaxrs/UriBuilderImpl.java#L1066-L1102","documentation":"UriBuilder.resolveTemplate(String, Object) throws IllegalArgumentException when the template variable name is null. The name identifies a {placeholder} in the URI template, so it must be a non-null string per the JAX-RS contract.","triggerScenarios":"Calling uriBuilder.resolveTemplate(null, value), typically when the template name comes from an annotation attribute, a map key, or a constant that failed to initialize.","commonSituations":"Names read from configuration or metadata that is missing; iterating over Map.Entry sets where a key is null; dynamic template names built from other data.","solutions":["Pass the correct non-null template variable name","Validate/require the name before calling resolveTemplate","If the name is optional, skip that substitution or use a default name"],"exampleFix":"// before\nbuilder.resolveTemplate(name, value); // name == null\n// after\nif (name != null) {\n    builder.resolveTemplate(name, value);\n}","handlingStrategy":"validation","validationCode":"Objects.requireNonNull(name, \"template variable name must not be null\");\nuriBuilder.resolveTemplate(name, value);","typeGuard":"boolean isValidTemplateArg(String name, Object value) {\n    return name != null && value != null;\n}","tryCatchPattern":"try {\n    return uriBuilder.resolveTemplate(name, value);\n} catch (IllegalArgumentException e) {\n    throw new IllegalArgumentException(\"resolveTemplate(name=\" + name + \") rejected: \" + e.getMessage(), e);\n}","preventionTips":["Source template names from constants/enums, not nullable strings","Check names coming from config or metadata before use","Never insert null keys into the maps feeding template resolution"],"tags":["jax-rs","uri","template","null-check"],"backgroundTag":"null-argument-illegal-argument","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-12T22:17:10.623Z"}