为了账号安全,请及时绑定邮箱和手机立即绑定

我可以在 json 响应中发送 java 对象吗

我可以在 json 响应中发送 java 对象吗

波斯汪 2022-12-15 16:12:14
例如我有 java 类帖子:public class Post{String title;String text;}如果我创建此类的实例并将其转换为我的 servlet 控制器中的 ajax 响应@RestControllerpublic class AjaxNewsController { @JsonView(Views.Public.class)    @PostMapping(value = "/getPost")    public AjaxResponseBody getSearchResultViaAjax(@RequestBody AjaxPostResponse postId) {        AjaxResponseBody result = new AjaxResponseBody();        result.setCode("200");        result.setMsg("found POST");        result.setResult(post);        return result;    }}我的问题是:我可以在客户端使用 javascript 检索帖子字段的标题和文本吗?如果可以的话,我该怎么办?这是我在浏览控制台中的响应的控制台示例但是我怎样才能用 ajax 和 jquery 中的字段提取我的帖子呢?更新程序经过一番研究后,我发现我的 serlvet 无法将我的 java pojo 转换为 json。我应该怎么做?UPD2我的请求正常发送,但 serlvet 不会将 POST 类转换为 json。
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

试试看:


var req = new XMLHttpRequest();

req.open('POST', 'your_url', false); 

req.send(null);

if(req.status == 200)

dump(req.responseText);

如果您想从另一个域获取数据,请阅读 cors


查看完整回答
反对 回复 2022-12-15
?
ITMISS

TA贡献1871条经验 获得超8个赞

所以我解决了我的问题。我使用 com.fasterxml.jackson.core 所以我只需要在我的类中标记我想使用 @JsonView 注释转换为 json 的字段


 @Id

    @GeneratedValue(strategy = IDENTITY)

    @Column(name = "post_id",

            unique = true, nullable = false)

    @JsonView(Views.Public.class)

    private Integer postId;

标记的所有内容都将被转换。


查看完整回答
反对 回复 2022-12-15
  • 2 回答
  • 0 关注
  • 52 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信