Id param i kept it as Long let me see, i thing its because of my unecessary interface
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
interface Controller<E> {
@RequestMapping(method = [(
RequestMethod.POST)])
fun create(@RequestBody e: E): ResponseEntity<E>
@RequestMapping(method = [(RequestMethod.PUT)])
fun update(@RequestBody e: E): ResponseEntity<E>
@RequestMapping(method = [(RequestMethod.DELETE)])
fun delete(@RequestBody e: E): ResponseEntity<E>
@RequestMapping(method = [(RequestMethod.GET)])
fun get(@RequestBody e: E): ResponseEntity<E>
@RequestMapping(value = ["all"], method = [(RequestMethod.GET)])
fun getAll(@RequestParam("start") start: Int, @RequestParam("end") end: Int): ResponseEntity<List<E>>
} which child @RestController i have implemented in