对于REST服务,最佳做法是接受完整的请求作为您服务的输入(如下所示 - 选项A),或者我们是否应接受选项中的各个参数 - B:
选项 - 答:
@GET
@Produces("text/plain")
public String hello(@PathParam("id") int id, @BeanParam etc.) {
}
选项 - B
import pywinauto, time, pyuac
import subprocess
if not pyuac.isUserAdmin():
pyuac.runAsAdmin()
pig = subprocess.Popen(["C:\Users\VAIBH PC\Downloads\windows.8.codec.pack.v2.0.5.setup.exe"], stdin=subprocess.PIPE)
time.sleep(1.0)
pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'Windows 8 Codec Pack Setup', class_name='#32770')[0]
window = pwa_app.window_(handle=w_handle)
window.SetFocus()
ctrl = window['OK']
ctrl.Click()
time.sleep(5)
w_handle = pywinauto.findwindows.find_windows(title=u'Windows 8 Codec Pack Setup', class_name='#32770')[0]
window = pwa_app.window_(handle=w_handle)
window.SetFocus()
ctrl = window['Button']
ctrl.Click()
ctrl = window['Button2']
ctrl.Click()
w_handle = pywinauto.findwindows.find_windows(title=u'Windows 8 Codec Pack Setup', class_name='#32770')[0]
window = pwa_app.window_(handle=w_handle)
window.SetFocus()
ctrl = window['Button2']
ctrl.Click()
答案 0 :(得分:2)
我认为最好利用JAX-RS提供的支持从请求中提取内容,而不是直接在请求对象上工作。这将删除一些技术管道,您将能够专注于自己的处理。
此外,Servlet API并不是真正面向REST的。我的意思是,例如,关于路径变量/参数,您需要自己提取它们。
希望它可以帮到你, 亨利
答案 1 :(得分:0)
休息资源通常由其名称和路径参数(可选)标识。
示例:/ tweets / {123} - 这表示' 通过其ID(123)标识的推文集合向我发送推文'
其余的设计风格可能不会强制服务提供者通过路径/查询参数公开资源,但一般的想法是路径参数唯一地标识资源,查询参数将用作过滤器。
在您的情况下,显而易见的选择是获取路径参数,但您应该仅使用注入的请求对象来跟踪远程用户,会话ID 等内容。 。这不会用于识别资源,而是用于内部使用的东西。