不接受x-www-form-url-encoded POST请求

我有一个与Postman发送的POST请求,如下所示:

标题:

Content-Type: x-www-form-url-encoded
Content-Length: calculated when request is sent
Host: calculated when request is sent
User-Agent: PostmanRuntime/7.26.5
accept: */*
accept-Encoding: gzip,deflate,br
Connection: Keep-Alive

身体:

Key                 Value
---------------------------------------------
Value               ASDSFSDFDSFSDFSDFS..[ecc]

直到现在,我都可以按照以下方式将请求发送到.jsp构建:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  ....

现在,我想将此POST Request发送到Jersey REST Controller到我的Web应用程序; REST控制器类似于以下内容:

@Path("/api")
public class LoginResources {
  
  @POST
  @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
  @Path("/login")
  public void logIn(HttpServletRequest request) {
    ...
  }    
}

由于此错误,我无法执行此操作:

HTTP Status 415 – Unsupported Media Type

有什么想法吗?

iCMS 回答:不接受x-www-form-url-encoded POST请求

已解决:

@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces({MediaType.APPLICATION_ATOM_XML,MediaType.APPLICATION_JSON})
@Path("/login")
public void saml(MultivaluedMap paramMap) {
    Object valueObj = paramMap.get("Value");
    // remember to remove [] parentesis
    ...
}

希望有帮助。

本文链接:https://www.f2er.com/1553733.html

大家都在问