首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >REST JSON设计

REST JSON设计
EN

Stack Overflow用户
提问于 2013-09-24 23:39:11
回答 1查看 2.6K关注 0票数 0

对于订单管理应用程序,我需要设计使用JSON的RESTful API。

我希望我的API是这样的,因此请求/响应包含JSON:

订单搜索API

代码语言:javascript
运行
AI代码解释
复制
API:    /orders/search
            {
                custname: "john",
                orderdate: "10-jun-2013"
            }
     Response:
           {
             orders:[
               {
                 orderid:234234,
                 orderstatus: NEW,
                 customer: "john"
               }
             ]
           }

订单更新API

代码语言:javascript
运行
AI代码解释
复制
 API:   /orders/343455        
 Request Body:
   {
            orderstatus: "DELIVERED",
            recepient: "joe"        
   }
 Response:
   {
      status: ERROR,
      message: "Order does not exist"
   }

问题

  1. 如何在GET请求中发送JSON (按顺序搜索API)。
  2. 我甚至想让每个请求都成为一个POST请求,在正文中包含JSON请求,这说明了操作是什么--但是这是否仍然是REST (可能是'RESTful Web‘或'REST类似于服务’)?
  3. 我认为在大多数请求中发送JSON是很重要的,这样我的API实现就不会经历太多的变化,因为我在JSON消息中添加了删除的attribs。
  4. 是否有其他人这样做的例子,特别是返回错误消息。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-09-25 02:36:46

  1. 如何在GET请求中发送JSON (按顺序搜索API)。

据我所知,HTTP 1.1并没有明确禁止GET方法的请求体。

然而,是否建议这样做的意见是不同的。

但是,GET请求应该(必须)是幂等 --特别是在REST上下文中,并且为了允许缓存。

在SO HTTP与请求体和其他许多问题上也可以看到这个问题。

如果由于任何原因不能在GET方法中指定请求体,则需要在URL查询中包含参数--适当编码(这很痛苦)。

  1. 我甚至想让每一个请求都成为一个邮政请求。

我是不会做那种事儿的。Web服务框架期望使用相应的HTTP方法执行某些类型的请求。这不利于REST,例如,实际上是GET的POST请求不会被缓存。这也不利于HTTP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18998982

复制
相关文章
Java之方法重载篇(我重载了,你要如何来调用我。。)
4. ## 如何调用?    由课前引言中的示例可知,调用具有“重载关系”的方法时,传递的实参类型决定了所调用的方法。    当实参类型是整型,那么系统会相应的调用形参同样是整型的int square(int x)方法;当实参类型是浮点型,那么系统会相应的调用形参同样是整型的int square(double y)方法;    方法调用跟形参变量名(x,y)没有关系,与形参类型有关。
CN_Simo
2022/05/10
2750
Java之方法重载篇(我重载了,你要如何来调用我。。)
Android如何调用so文件
下面通过一个安卓调用C++代码打印字符串的实例介绍一下在Android Studio中使用最新的编译方式编译出so文件的步骤。
用户5521279
2020/03/05
10.6K0
Android如何调用so文件
【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )
调用 jclass GetObjectClass(jobject obj) 或 jclass FindClass(const char* name) 方法 , 获取 jclass 类型变量 ;
韩曙亮
2023/03/27
8.6K0
【Android NDK 开发】JNI 方法解析 ( C/C++ 调用 Java 方法 | 函数签名 | 调用对象方法 | 调用静态方法 )
Android调用相机与相册的方法
Android调用相机与相册的方法 操作流程 点击拍摄 效果图 点击相册选择 效果图 拒绝权限的情况 效果图 功能实现 项目配置 1.先在项目根目录的build.gradle的repositories添加: 2.在build.gradle(:app)的dependencies添加: 3.添加提示dialog样式 4.添加底部dialog样式 底部dialog弹出动画(dialog_in_anim.xml) 底部dialog关闭动画(dialog_out_anim.xml) 5.添加权限 6.在Android
是阿超
2022/08/07
2K0
Android调用相机与相册的方法
Android如何调用摄像头
第一步必须加入调用摄像头硬件的权限,拍完照后我们要将图片保存在SD卡中,必须加入SD卡读写权限,所以第一步,我们应该在Android清单文件中加入以下代码
黄啊码
2020/05/29
1.5K0
android 从相册选择图片_android调用相册并显示图片
public class MainActivity extendsAppCompatActivity {int REQUEST_CODE = 0;privateNineGridImageView ngiv;private ArrayListphotos;privateDialog dialog;privatecn.com.jwtimes.www.jwtimes.mAdapter mAdapter1;
全栈程序员站长
2022/11/08
1.7K0
Spring杂谈 | 从桥接方法到JVM方法调用
这些代码对我之前也造成了不小疑惑,在彻底弄懂后通过本文分享出来,也能减少大家在阅读代码过程中的障碍!
程序员DMZ
2020/07/06
1.6K0
android-fragment-重新显示调用的方法
@Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if (!hidden) { getUserInfo(UserManager.getManager(getContext()).getUserId()); } }
tea9
2022/07/16
4070
AllJoyn+Android开发案例-android跨设备调用方法
项目需要涉及AllJoyn开源物联网框架。前面主要了解了一些AllJoyn基本的概念,像总线,总线附件,总线对象,总线接口这样的概念,以及之间的关系和跨设备、平台的调用功能。项目最终的目的实现是,跨平台的方法调用如:windows调用android,以及对于设备事件的订阅功能。
全栈程序员站长
2022/06/25
4480
AllJoyn+Android开发案例-android跨设备调用方法
java 异步调用方法_java异步调用方法有哪些?如何实现异步调用?
大家好,又见面了,我是你们的朋友全栈君。 你知道java异步调用方法都有哪些吗?下面的文章内容,就对这方面的问题做了一下整理,一起来看看java异步调用的方法吧! 1、利用Spring的异步方法去执行
全栈程序员站长
2022/09/14
4K0
如何通过反射调用对象的方法?
import java.lang.reflect.Method; class MethodInvokeTest { public static void main(String[] args) throws Exception { String str = "hello"; Method m = str.getClass().getMethod("toUpperCase"); System.out.println(m.invoke(str));
唐怀瑟
2018/08/30
2.9K0
Android JNI 调用时缓存字段和方法 ID
在 JNI 去调用 Java 的方法和访问字段时,最先要做的操作就是获得对应的类以及对应的方法 id。
音视频开发进阶
2019/07/26
1.1K0
点击加载更多

相似问题

如何从Android调用RESTful方法?

16

Android:如何从服务中调用方法

110

如何从android库类调用方法

43

如何从AngularJS指令调用Android方法?

12

android:如何从超链接调用方法

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档