相关疑难解决方法(0)

Spring MVC - 如何在Spring控制器的地图中获取所有请求参数?

示例网址:

../search/?attr1=value1&attr2=value2&attr4=value4
Run Code Online (Sandbox Code Playgroud)

我不知道attr1,att2和attr4的名称.

我希望能够做类似的事情(或类似的,不关心,只要我有权访问请求参数名称的地图 - >值:

@RequestMapping(value = "/search/{parameters}", method = RequestMethod.GET)
public void search(HttpServletRequest request, 
@PathVariable Map<String,String> allRequestParams, ModelMap model)
throws Exception {//TODO: implement}
Run Code Online (Sandbox Code Playgroud)

如何使用Spring MVC实现这一目标?

java spring spring-mvc

168
推荐指数
8
解决办法
21万
查看次数

在Spring REST控制器中读取HTTP头

我试图在基于Spring的REST API中读取HTTP头.我跟着这个.但是我收到了这个错误:

没有找到类java.lang.String,
ContentType:application/octet-stream的消息正文阅读器

我是Java和Spring的新手,所以无法解决这个问题.

这就是我的通话方式:

@WebService(serviceName = "common")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public interface CommonApiService {

    @GET
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/data")
    public ResponseEntity<Data> getData(@RequestHeader(value="User-Agent") String userAgent, @DefaultValue ("") @QueryParam("ID") String id);
}
Run Code Online (Sandbox Code Playgroud)

我试过了@Context:HTTPHeader是null这种情况.

如何从HTTP标头获取值?

java rest spring spring-restcontroller spring-rest

31
推荐指数
3
解决办法
12万
查看次数

为请求映射标头 spring 创建自定义注释

我正在使用 spring-boot-1.5.6。我里面有一个控制器,大约有 8 个请求映射,它们具有公共标头。下面提到的标头对于控制器中的大多数方法都是必需的,并且提及所有标头看起来很难看,有没有办法概括或自定义注释,以便我不想在所有方法中复制标头。

@RestController
public class RestController {
  private static final Logger logger = LoggerFactory.getLogger(RestController.class);

  /**
   * Simply chooses a few headers, logs them and add them to model to
   * showHeaders view to render to the user.
   */

  @GetMapping(value="/showheaders")

  public String getHeaders(
          @RequestHeader(value="sample") String sample,
          @RequestHeader(value="sample1") String sample1,
          @RequestHeader(value="sample2") String sample2,
          @RequestHeader(value="sample3") String sample3,
          @RequestHeader(value="sample4") String sample4) {
    logger.info("Inside getHeaders() method...");
    logger.info("sample : " + sample);
    logger.info("sample1 : " + sample1);
    logger.info("sample2 : " + sample2);
    logger.info("sample3 : …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-annotations spring-boot

2
推荐指数
1
解决办法
3802
查看次数