YeautyYE / netty-websocket-spring-boot-starter

:rocket: lightweight high-performance WebSocket framework ( 轻量级、高性能的WebSocket框架)
Apache License 2.0
1.83k stars 540 forks source link

发送json数据 #119

Open kyle1987 opened 4 years ago

kyle1987 commented 4 years ago

前端接收json格式的数据,后端如何发送json格式的数据

YeautyYE commented 4 years ago

前端接收json格式的数据,后端如何发送json格式的数据

json格式就是一个字符串。通过jackson或者fastjson还有gson,都可以把对象转json字符串。

kyle1987 commented 4 years ago

我的意思是直接发送json,而不是字符串。我们用springboot的时候不是加个@ResponseBody就是发送json格式的数据了

kyle1987 commented 4 years ago

另外,我发现@Autowired 、@Value这种注解都用不了,我只能获取applicationcontext再去获取对应都bean?

YeautyYE commented 4 years ago

他底层其实是用的jackson将对象转成字符串。 为了框架的轻量级和性能考虑,这里是不实现的。

YeautyYE commented 4 years ago

另外,我发现@Autowired 、@value这种注解都用不了,我只能获取applicationcontext再去获取对应都bean?

你导错包了,要把springboot-websocket的包去掉

cpstory commented 4 years ago

主要还是跨域的问题,抱大佬大腿

------------------ 原始邮件 ------------------ 发件人: "Yeauty"<notifications@github.com>; 发送时间: 2020年4月29日(星期三) 下午2:40 收件人: "YeautyYE/netty-websocket-spring-boot-starter"<netty-websocket-spring-boot-starter@noreply.github.com>; 抄送: "Subscribed"<subscribed@noreply.github.com>; 主题: Re: [YeautyYE/netty-websocket-spring-boot-starter] 发送json数据 (#119)

他底层其实是用的jackson将对象转成字符串。 为了框架的轻量级和性能考虑,这里是不实现的。

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

YeautyYE commented 4 years ago

主要还是跨域的问题,抱大佬大腿

跨域目前不支持。 一般公司使用前面会有网关或Nginx,建议在上面统一处理。

cpstory commented 4 years ago

nginx来统一转发现在是可行的。 哦,对了,https支持么?怎么配置来着

------------------ 原始邮件 ------------------ 发件人: "Yeauty"<notifications@github.com>; 发送时间: 2020年4月29日(星期三) 下午2:43 收件人: "YeautyYE/netty-websocket-spring-boot-starter"<netty-websocket-spring-boot-starter@noreply.github.com>; 抄送: "I/O"<278369091@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [YeautyYE/netty-websocket-spring-boot-starter] 发送json数据 (#119)

主要还是跨域的问题,抱大佬大腿

跨域目前不支持。 一般公司使用前面会有网关或Nginx,建议在上面统一处理。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

kyle1987 commented 4 years ago

另外,我发现@Autowired 、@value这种注解都用不了,我只能获取applicationcontext再去获取对应都bean?

你导错包了,要把springboot-websocket的包去掉

包检查过了,导的应该是对的。我网上查说是websocket每次建立链接都会建立一个实例,跟spring的单例有冲突,导致获取不到值。反正也没搞清,都是用applicationcontext 去取的。

YeautyYE commented 4 years ago

nginx来统一转发现在是可行的。 哦,对了,https支持么?怎么配置来着

https更应该在网关层统一处理,不然每次扩容或者更换的时候都很麻烦。 这样还有个好处就是,运维不再麻烦你。 一般是运维处理ssl问题,如果放在应用上,运维每次都要找你处理。

cpstory commented 4 years ago

好的,感谢大佬解答

------------------ 原始邮件 ------------------ 发件人: "Yeauty"<notifications@github.com>; 发送时间: 2020年4月29日(星期三) 下午2:47 收件人: "YeautyYE/netty-websocket-spring-boot-starter"<netty-websocket-spring-boot-starter@noreply.github.com>; 抄送: "I/O"<278369091@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [YeautyYE/netty-websocket-spring-boot-starter] 发送json数据 (#119)

nginx来统一转发现在是可行的。 哦,对了,https支持么?怎么配置来着

https更应该在网关层统一处理,不然每次扩容或者更换的时候都很麻烦。 这样还有个好处就是,运维不再麻烦你。 一般是运维处理ssl问题,如果放在应用上,运维每次都要找你处理。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

YeautyYE commented 4 years ago

另外,我发现@Autowired 、@value这种注解都用不了,我只能获取applicationcontext再去获取对应都bean?

你导错包了,要把springboot-websocket的包去掉

包检查过了,导的应该是对的。我网上查说是websocket每次建立链接都会建立一个实例,跟spring的单例有冲突,导致获取不到值。反正也没搞清,都是用applicationcontext 去取的。

网上说的是spring-websocket的处理方案。 本框架是可以直接使用@Autowired

cpstory commented 4 years ago

感谢大佬解答

------------------ 原始邮件 ------------------ 发件人: "Yeauty"<notifications@github.com>; 发送时间: 2020年4月29日(星期三) 下午2:47 收件人: "YeautyYE/netty-websocket-spring-boot-starter"<netty-websocket-spring-boot-starter@noreply.github.com>; 抄送: "I/O"<278369091@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [YeautyYE/netty-websocket-spring-boot-starter] 发送json数据 (#119)

nginx来统一转发现在是可行的。 哦,对了,https支持么?怎么配置来着

https更应该在网关层统一处理,不然每次扩容或者更换的时候都很麻烦。 这样还有个好处就是,运维不再麻烦你。 一般是运维处理ssl问题,如果放在应用上,运维每次都要找你处理。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

kyle1987 commented 4 years ago

加@Autowired的类上面要加@Component吗,我试了好像不生效。

kyle1987 commented 4 years ago

跟我加了@ComponentScan有关系么

cpstory commented 4 years ago

我写错了,是wss

------------------ 原始邮件 ------------------ 发件人: "Yeauty"<notifications@github.com>; 发送时间: 2020年4月29日(星期三) 下午2:43 收件人: "YeautyYE/netty-websocket-spring-boot-starter"<netty-websocket-spring-boot-starter@noreply.github.com>; 抄送: "I/O"<278369091@qq.com>;"Comment"<comment@noreply.github.com>; 主题: Re: [YeautyYE/netty-websocket-spring-boot-starter] 发送json数据 (#119)

主要还是跨域的问题,抱大佬大腿

跨域目前不支持。 一般公司使用前面会有网关或Nginx,建议在上面统一处理。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

YeautyYE commented 4 years ago

跟我加了@componentscan有关系么

只需要@ServerEndpoint就可以了