【发布时间】:2020-05-09 16:23:37
【问题描述】:
我的代码是这样写的:
@RestController
public class WebSSOController {
@Autowired
private WebSSOService webSSOService;
private final Logger LOGGER = LoggerFactory.getLogger(WebSSOController.class);
@PostMapping(path = "/generaToken")
public ResponseEntity<Token> generaToken(HttpServletRequest request) {
final String host=request.getRemoteAddr();
final String key = request.getParameter("key");
final String application = request.getParameter("nomeApp");
try {
final Token token=webSSOService.generateToken(host, key, application);
return new ResponseEntity<Token>(token, HttpStatus.OK);
} catch (Exception e) {
LOGGER.error(Message.ERROR_OCCURRED+Thread.currentThread().getStackTrace()[1].getMethodName()+": "+ e.getMessage());
if (LOGGER.isDebugEnabled()) {
e.printStackTrace();
}
return new ResponseEntity<Token>(HttpStatus.INTERNAL_SERVER_ERROR);
}
}
.
.
.
我想使用 Postman 模拟请求提交。 请问,如果我的方法输入中有 HttpServletRequest,有人可以告诉我如何制定我的请求吗?
非常感谢!!!
【问题讨论】:
-
欢迎来到 Stack.. 最短的方法是实现 SWAGGER,它将为您提供基于 UI 的请求者和响应类型。如果您使用的是弹簧靴,请关注baeldung.com/swagger-2-documentation-for-spring-rest-api
-
你试过什么?具体问题是什么?你需要一个 POST 请求,到路径 /generaToken,带有两个参数 key 和 nomeApp。
-
谢谢大家!我已经解决了我的问题:当 HttpServletRequest 对象输入到 Rest Controller 类中的方法时,我不必传递参数,因为在某种程度上,请求是自己处理的。
-
一般情况下,在 Post 方法中,您在输入中有 @RequestBody 参数,并且您必须在 Postman 中在请求正文中写入一个对象(例如,一个 JSON 对象,带有 {"parameter" :“价值”})。但在这种情况下,您不必这样做,它无需在正文中写入任何内容即可工作。再次感谢您!
标签: spring-boot servlets postman