示例网址:
../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实现这一目标?
我试图在基于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标头获取值?
我正在使用 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)