相关疑难解决方法(0)

在GET请求中为相同参数名称传递多个值的正确方法

我正在研究在GET请求中为同一参数名传递多个值的正确方法是什么.

我见过这样的网址:

http://server/action?id=a&id=b
Run Code Online (Sandbox Code Playgroud)

我看过这样的网址:

http://server/action?id=a,b
Run Code Online (Sandbox Code Playgroud)

我的理解是第一个是正确的,但我找不到任何参考.我查看了http规范,但是看不出有关如何构成URL的'query'部分的任何信息.

我不想要一个说"要么很好"的答案 - 如果我正在构建一个Web服务,我想知道这些方法中的哪一个是标准的,以便使用我的web服务的人知道如何为同一个名称传递多个参数.

那么,有人能指出我的官方参考资料来确认哪个选项是正确的吗?

get http

170
推荐指数
3
解决办法
13万
查看次数

如何使用spring mvc使用@RequestParam捕获多个参数?

假设单击了一个超链接,并使用以下参数列表触发了一个url myparam=myValue1&myparam=myValue2&myparam=myValue3.现在我如何@RequestParam在spring mvc中捕获所有参数?

我的要求是我必须捕获所有参数并将它们放在地图中.

请帮忙!

spring annotations spring-mvc

36
推荐指数
4
解决办法
8万
查看次数

可选的Spring分页

我是java和spring的新手.

我想要实现的是/tickets具有分页和排序的api端点.我做了它,它的工作原理.但也是我想做的是,如果返回所有门票的普通列表size,并page没有在查询参数指定的,所以在FE我可以使用选择框该列表.

我试图做的是getTickets在服务门面上实现并返回所有门票的列表.但我找不到如何检查Pageable是否设置的方法,因为它始终返回默认值(size = 20,page = 0)

//控制器

@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<Page<TicketListItemResponseModel>> getTickets(Pageable pageable) {
    logger.info("> getTickets");
    Page<TicketListItemResponseModel> tickets = ticketServiceFacade.getTickets(pageable);
    logger.info("< getTickets");
    return new ResponseEntity<>(tickets, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)

// TicketServiceFacade

public Page<TicketListItemResponseModel> getTickets(Pageable pageable) {
    Page<Ticket> tickets = ticketService.findAll(pageable);
    return tickets.map(new ConverterFromPagesToListItem());
}

public List<TicketListItemResponseModel> getTickets() {
    List<Ticket> tickets = ticketService.findAll();
    return tickets.stream()
            .map(t -> modelMapper.map(t, TicketListItemResponseModel.class))
            .collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)

也许我完全错了?

java spring spring-data spring-boot

5
推荐指数
1
解决办法
3029
查看次数

标签 统计

spring ×2

annotations ×1

get ×1

http ×1

java ×1

spring-boot ×1

spring-data ×1

spring-mvc ×1