如何在方法上发布请求返回整数

时间:2019-07-14 14:08:51

标签: java spring spring-boot kotlin spring-annotations

在下面的示例中,我试图了解他在下面的代码中的情况,在给定方法in​​itVar()的情况下,我试图执行POST请求。 我尝试按以下方式执行发帖请求:

http://localhost:8080/root/initVar/id/2->error
http://localhost:8080/root/initVar/id?2->error

但是当我从方法返回Int数据类型时,它不起作用。 请让我知道如何解决此错误。

请注意,此方法返回Int

代码

@RestController
@RequestMapping("root")
class Controller1 {

val sayHiLazy by lazy {
    "hi from get"
}

@GetMapping(value = "/sayHi")
@ResponseBody
fun  sayHi() : String {
    return sayHiLazy
}

@PostMapping("/initVar/id")
@ResponseBody
fun initVar(@PathVariable id : Int) : Int {
    return 11
}
}to use spring annotation with koltin in intellij. i used spring annotation with java projects in intellij. but for koltin, it does not work.

在下面的示例中,HelloController用红色下划线标出,并且出现以下错误:

    classes annotated with @Configurations cannto be implicily subclassed and must be final

请让我知道如何

Controller1

@SpringBootConfiguration
@RequestMapping("/app")
public class HelloController {

@RequestMapping(value = "/hello")
fun SayHello(): String {
    return "success"
}
}

1 个答案:

答案 0 :(得分:0)

  1. 如果要使用@PathVariable,则必须执行以下操作:
@RequestMapping(value="/stuff/{id}")
@ResponseBody
public String doStuff(@PathVariable("id") int id){
    return "id="+id;
}
  1. 您通常在末尾编写不带变量的POST方法。在这种情况下,您应该使用PUT-https://restfulapi.net/rest-put-vs-post/

  2. 我不确定是否可以返回纯整数作为响应,但是可以选择是否将整数包装为String-String.valuOf(id);

致谢