jjzjj

RestController

全部标签

java - Spring @RestController 不会生成 application/xml

我有一个@RestController,方法如下@RequestMapping(path="/thing",method=RequestMethod.GET,produces={MediaType.APPLICATION_XML_VALUE})publicListlistThings(){returnthingMapper.listThings();}但是当我在header中使用Accept:application/xml发出GET请求时,响应的Content-Length为0,并且不会产生任何内容。我知道我的查询正在返回数据,如果我删除produces属性并发出一个普通的get请求,

java - Spring:缺少必需的请求正文。无法将 JSON 传递给 RestController

我在将JSON传递给RestController时遇到问题。它似乎没有消耗它。Controller:@PostMapping(path="Users/{UserId}/Transactions",consumes=MediaType.APPLICATION_JSON_VALUE,produces=MediaType.APPLICATION_JSON_VALUE)publicCompletableFuture>startGameRound(@RequestBodyTransactionRequestrequest,@RequestParam("PartnerUserSessionKey"

java - 如何将 @RestController 中的请求主体转换为抽象值列表?

假设我们有以下类:publicabstractclassInvestment{privateStringinvestmentType;//getters&setters}publicclassEquityextendsInvestment{}publicclassBondextendsInvestment{}publicclassInvestmentFactory{publicstaticInvestmentgetTypeFromString(StringinvestmentType){Investmentinvestment=null;if("Bond".equals(investm

java - RestController 与 GET + POST 相同的方法?

我想创建一个方法并使用spring-mvc在其上配置GET+POST:@RestControllerpublicclassMyServlet{@RequestMapping(value="test",method={RequestMethod.GET,RequestMethod.POST})publicvoidtest(@ValidMyReqreq){//MyReqcontainssomeparams}}问题:对于上面的代码,任何POST请求都会导致一个空的MyReq对象。如果我将方法签名更改为@RequestBody@ValidMyReqreq,则帖子有效,但GET请求失败。如果将b

java - JSR - Spring Boot 的 Spring @RestController 的 349 bean 验证

我正在使用SpringBoot1.5.2.RELEASE并且无法为@RequestParam合并JSR-349(bean验证1.1)&@PathVariable在方法本身。对于POST请求,如果方法参数是JavaPOJO,则用@Valid注释该参数工作正常但注释@RequestParam&@PathVariable用类似@NotEmpty的东西,@Email不工作。我已经用Spring的@Validated注释了Controller类关于SO的问题很多,我在thisanswer上发表了评论它不适合我。SpringBoot包括-validation-api-1.1.0.Final.jar

java - 如何在Springboot Restcontroller中使用PUT方法?

我正在使用Springboot开发应用程序。我尝试使用所有表示动词,如GET、POST、DELETE,它们都工作正常。通过使用PUT方法,它在springboot中不支持。我是否需要添加任何新配置。Put方法仅适用于没有任何参数的请求。如果我添加任何查询参数或表单数据,它就不起作用。请任何专家帮助我解决这个问题。@RequestMapping("/student/info")@RequestMapping(method=RequestMethod.PUT)public@ResponseBodyStringupdateStudent(@RequestParam(value="stdNam

java - spring 拦截器不向@RestController 服务添加 header

我有以下拦截器:publicclassSecurityInterceptorextendsHandlerInterceptorAdapter{@OverridepublicvoidpostHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler,ModelAndViewmodelAndView)throwsException{response.addHeader("X-Frame-Options","DENY");}}我检查过-spring在每个http请求上调用它。我注意到一件奇怪的事。它适用

java - 使用 Spring @RestController 处理带 ZonedDateTime 参数的 HTTP GET

我正在创建一个端点,它将接收日期以在服务器端进行一些过滤。代码如下所示:@RequestMapping(value="/test",method=RequestMethod.GET,produces={MediaType.APPLICATION_JSON_VALUE,MediaType.APPLICATION_XML_VALUE})@ResponseStatus(HttpStatus.OK)publicTestSummaryModelgetTestSummaryByDate(@RequestParamZonedDateTimestart,@RequestParamZonedDateTi

java - 从 Spring MVC @RestController 返回 View

由于@RestController是@Controller和@ResponseBody的组合,我相信如果我希望我的Controller同时工作仅使用@RestController注释的MVC和RESTController应该没问题。对吗?因为@RestController是@Controller和@ResponseBody的组合,我认为它在内部意味着它有利于接收http请求(因为@Controller)以JSON格式发送响应(因为@ResponseBody),但如果需要可以更改 最佳答案 @RestController并不意味着用于

java - Spring MVC RestController 作用域

我有以下SpringController:packagehello;importjava.util.concurrent.atomic.AtomicLong;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassTestContro