Skip to content

bug: request get Args params  #310

@seesaws

Description

@seesaws

Issue description

Environment

  • Operating System: Windows 11
  • JDK Version: 17
    *IDE: IntelliJ IDEA 2024.1.4U
  • APISIX Java Plugin Runner Version: 0.4.0
  • Maven Dependency
org.apache.apisix apisix-runner-starter 0.4.0

Minimal test code / Steps to reproduce the issue

When using the getArgs method of the org.apache.apisix.plugin.runner.HttpRequest class, the returned parameter type is Map<String, String>. The expected behavior is for it to return a parameter type consistent with the getParameterMap method of the jakarta.servlet.ServletRequestWrapper class, which is Map<String, String[]>.
Steps to Reproduce the Issue
Set the Maven dependency to apisix-runner-starter version 0.4.0.
Use the HttpRequest.getArgs() method in the APISIX Java Plugin to retrieve parameters.
Submit multiple parameters with the same key using a GET method or POST form.

What's the actual result? (including assertion message & call stack if applicable)

  • HttpRequest.getArgs() returns parameters as Map<String, String>.
  • When using GET or POST forms with multiple parameters having the same key, previous key-value pairs are lost, and only the last key-value pair is retained.

What's the expected result?

HttpRequest.getArgs() should return parameters as Map<String, String[]>, matching the behavior of jakarta.servlet.ServletRequestWrapper.getParameterMap() and correctly retaining all values for the same key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions