// json 代码
{
/*用户信息*/
user: {
username: '{$user.username}',
headImg: '{$user.headImg}',
targetId: '{$user.targetId}',
openid: '{$user.openid}'
},
/* 产品信息 */
productUrl: '',
productImg: '',
productPrice: ''
}
// 后台代码
class ConnController {
/**
* 普通用户初始连接时请求。
*/
class UserInitReq {
var user: User = User()
}
@Autowired
lateinit var connService: ConnService
@PostMapping("/userToKfConn")
@ResponseBody
fun userToKfConn(@RequestBody userInitReq: UserInitReq,
req: HttpServletRequest,
resp: HttpServletResponse): Map<String, Any?> {
return connService.handlerUserToKfConn(req, resp, userInitReq.user)
}
}
前台发送 post (json)请求,后台是用这个方法接收 ???
如果 有 跨域 options 请求,请加上??? 方代码
package zero.kefu.core.filter
import org.springframework.stereotype.Component
import javax.servlet.Filter
import javax.servlet.FilterChain
import javax.servlet.ServletRequest
import javax.servlet.ServletResponse
import javax.servlet.http.HttpServletResponse
@Component
class CorsFilter : Filter {
override fun doFilter(request: ServletRequest?, response: ServletResponse?, chain: FilterChain?) {
val res: HttpServletResponse = response as HttpServletResponse
res.setHeader("Access-Control-Allow-Origin", "https://abc.cn")
res.setHeader("Access-Control-Allow-Methods",
"POST, GET, OPTIONS, DELETE")
res.setHeader("Access-Control-Max-Age", "3600")
res.setHeader("Access-Control-Allow-Headers",
"Content-Type, x-requested-with, X-Custom-Header, Authorization")
res.setHeader("Access-Control-Allow-Credentials", "true")
chain?.doFilter(request, res)
}
}