我正在尝试执行以下操作:@post@path(“/add”)@consumes(Mediatype.application_json)void addStudentInCourse(DtoCourse课程,DtoStudent学生);
但这不起作用:`puthttp://localhost:8080/university/api/v1/study/content-type:application/json
{“course”:{“id”:1},“student”:{“id”:5}}`如何在json中创建2个实体
您不能以您想要的方式发送两个对象,因为您的请求的整个主体都是一个对象,因此,您应该创建一个“包装对象”,它同时具有所需的两个参数。考虑到这一点,我的建议是按照下面的代码创建一个请求dto来包含您的对象:
public class AddStudentInCourseRequest {
private DtoCourse course;
private DtoStudent student;
// constructor, getters and setters
}
并将服务的签名更改为:
@POST
@Path("/add")
@Consumes(MediaType.APPLICATION_JSON)
void addStudentInCourse(AddStudentInCourseRequest request) {
DtoCourse course = request.getCourse();
DtoStudent student = request.getStudent();
// remaining business logic
}
这样,您要发送的请求就可以工作了:
{
"course": { "id": 1 },
"student": { "id": 5 }
}`
ps.:只需仔细检查http方法。在您的请求中,您使用的是PUT,而在您的方法中,您使用的是@POST注释
资源 ComplexObject类只是一个带有字符串的类。当我点击URL:http://localhost:8080/simple-service-webapp/webapi/myresource/This work时,我得到的是“get it!” 但是当我点击:http://localhost:8080/simple-service-webapp/webapi/myresource/comple
我试图实现同样的事情:如何使用查询参数表示为JSON与Spring RestTemplate?,发送JSON字符串作为URL参数在. 公认的答案提到将JSON对象作为请求参数发送通常不是一个好主意,因为您可能会面临JSON中的花括号问题。这正是当我试图对API进行GET调用时发生的事情。由于这是来自另一个系统的API,我不能要求他们更改格式,必须调用GETendpoint,将JSON作为参数传递。
问题内容: 我在这里尝试做的是获取给定URL的标头,以便确定MIME类型。我希望能够查看是否http://somedomain/foo/将返回例如HTML文档或JPEG图像。因此,我需要弄清楚如何发送HEAD请求,以便无需下载内容就可以读取MIME类型。有人知道这样做的简单方法吗? 问题答案: 使用。 还有一个getheader(name)获取特定的标头。
我无法在改型中以行json格式发送数据。 我将改装版1.9迁移到2。在Retrfit1.9中,我可以使用HashMap发送原始json,但在改型2中,我使用HashMap发送,但无法将数据作为json发送。所以我用pojo来代替。 api生成试图获取非对象属性的日志,因此我无法在json行中传递数据。 我刚刚在错误日志中看到了我的服务器详细信息,我的请求自动转换为GET。我在POST中使用Refo
问题内容: 我是java的新手,我为这个问题苦苦挣扎了2天,最后决定在这里提问。 我正在尝试读取jQuery发送的数据,因此可以在servlet中使用它 jQuery的 Servlet 我非常感谢您可以提供的任何帮助。 问题答案: 除非正确发送,否则将无法在服务器上对其进行解析: 您必须使用JSON字符串来发送JavaScript对象。 然后在服务器上: 您可以手动或使用任何库来解析字符串(我建议
我已在中创建了我的应用程序并配置为云消息传递。当我从控制台发送通知时,设备会收到通知,但如果我尝试通过Rest API(使用PostMan)发送。然后通知不会到达设备,但响应显示为成功。 这是我的邮差请求 URI-https://fcm.googleapis.com/fcm/send 标题:内容类型:应用程序/json授权:密钥=MY_SERVER_KEY 正文:{“数据”:{“标题”:“火力基地