问题列表 - 第14697页

实现REST

我浏览一个简单的,完全REST API的好例子,但无济于事.检查stackoverflow也是如此.我见过的最好的就是这篇文章.尽管如此,我仍然没有明白这一点.让我们举一个我们都知道的应用程序的例子:维基百科.

假设我们要为维基百科创建REST API.我们期待以下动词:

GET /wiki/Article_name: obtains a specified page
DELETE /wiki/Article_name: deletes the page
POST /wiki/Article_name: creates a new page
PUT /wiki/Article_name: updates a page.
Run Code Online (Sandbox Code Playgroud)

事实是:当您在浏览器中使用维基百科时,您不使用REST界面进行导航.我很确定当你更新页面时,你永远不会使用PUT(虽然你在技术上创建了一个新版本的页面,所以POST很有意义).同样,当您删除页面时,浏览器不会发送DELETE.

我的问题是:

  • REST是一个"用于浏览器"的界面还是仅用于脚本?
  • 我们应该通过REST表示的眼睛专门看到HTTP世界吗?像GET/foo /?page = bar&action = delete这样的东西仍然是一个有效的观点,或者过去的可怕错误永远不会再次被完成?
  • Web访问和REST接口应该混合还是分开?例如,假设您有一个AddressBook应用程序.您可以使用GET/people /浏览地址簿,使用GET/people/1523可以在浏览器上获取该单个人信息,也可以使用漂亮的可打印HTML.如果你想修改他的卡,你会(RESTfully)PUT/people/1523,或者更喜欢PUT /api/v1.0/people/1523?
  • 任何人都可以说服Roy Fielding获得人类,并为一个体面的(在他看来)REST API提供一个"5岁孩子"的例子,而不是抱怨什么不是RESTful(在他看来),以便全世界都可以跟进?

rest

16
推荐指数
2
解决办法
1546
查看次数

如何将UNIX中的errno转换为相应的字符串?

在UNIX中是否有任何函数将errno转换为其对应的字符串,例如EIDRM到"EIDRM".调试以检查这些整数errnos的错误非常烦人.

unix errno

39
推荐指数
3
解决办法
4万
查看次数

如何减少solr内存使用量?

我在我的应用程序中使用solr,只有几百个文档.内存使用量约为80M,如何减少呢?

solr jetty

6
推荐指数
1
解决办法
3967
查看次数

通过反射动态地将项目添加到List <T>

可以说我有这门课

class Child {
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

class Container {
    public List<Child> { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在研究各种各样的反序列化器,我希望能够Child从检索到的数据中创建和填充列表.我已经做到这一点了(我已经为这个例子减少了很多其他类型的处理,所以它不必要地"iffy"但是请耐心等待):

var props = typeof(Container).GetProperties();

foreach (var prop in props) {
    var type = prop.PropertyType;
    var name = prop.Name;

    if (type.IsGenericType) {
        var t = type.GetGenericArguments()[0];

        if (type == typeof(List<>)) {
            var list = Activator.CreateInstance(type);
            var elements = GetElements();

            foreach (var element in elements) {
                var item = Activator.CreateInstance(t); …
Run Code Online (Sandbox Code Playgroud)

c# generics reflection

17
推荐指数
2
解决办法
1万
查看次数

比较两个List <string>是否相等

除了单独逐步执行元素之外,如何比较两个字符串列表是否相等(在.NET 3.0中):

这失败了:

// Expected result.
List<string> expected = new List<string>();
expected.Add( "a" );
expected.Add( "b" );
expected.Add( "c" );

// Actual result
actual = new List<string>();
actual.Add( "a" );
actual.Add( "b" );
actual.Add( "c" );

// Verdict
Assert.IsTrue( actual == expected );
Run Code Online (Sandbox Code Playgroud)

.net c# collections comparison equality

60
推荐指数
5
解决办法
4万
查看次数

如何在拖动中更改拖放图像?

所以我想将一个对象从一个源拖动到多个潜在目的地.当对象在每个目的地上时,我希望它"变形"为不同的图像.从NSDragSource的角度来看,有一种直接的方法吗?

macos cocoa drag-and-drop nsdraggingitem

7
推荐指数
3
解决办法
2125
查看次数

sqlite表中的最大行数

给一个简单的sqlite3 table(create table data (key PRIMARY KEY,value)),密钥大小为256字节,值大小为4096字节,这个sqlite3表中最大行数的限制(忽略磁盘空间限制)是多少?他们的限制是否与操作系统相关(win32,linux或Mac)

database sqlite sizing

24
推荐指数
4
解决办法
6万
查看次数

(强烈与弱)键入AND(静态与动态)类型语言和摩尔定律

我不知道有多少人面临这个问题.如果我用python,php,javascript之类的弱/动态类型语言进行编程几天,我会失去与c ++,Java,.net等强类型语言的联系.我最近听过人们喜欢编程的python和ruby等语言.

在弱/动态类型语言中编程非常简单,但存在与c ++,Java等语言失去联系的危险.处理器现在变得非常强大,根据摩尔定律,它将随着时间呈指数增长速度.因此,当我们从嵌入式语言转换为高级语言(如c ++,java)时,效率可能不会出现问题.

  • 那么世界正在向弱/动态类型语言转变吗?
  • 弱/动态类型的语言将来会取代强类型语言吗?
  • 是否有任何领域必须使用强类型语言,并且不能在当前时间以及不久的将来更换?

strong-typing moores-law weakly-typed

0
推荐指数
2
解决办法
2972
查看次数

初学者友好的方法来获取所有文件和目录的列表

使用.NET 3.0,我有下面的方法可以正确返回指定目录的所有文件和目录(以及子目录)的集合。如果可能的话,我想愚弄它,只使用我很熟悉的结构。具体来说,以下是我不清楚的事情:

1. IEnumerable<FileSystemInfo>: I'd like to return List<FileSystemInfo> instead
2. Stack<FileSystemInfo>: I'd list to use List<FileSystemInfo> instead.
3. yield return: I've never used this before
Run Code Online (Sandbox Code Playgroud)

public static IEnumerable<FileSystemInfo> GetAllFilesAndDirectories ( string dir ) {

    DirectoryInfo dirInfo = new DirectoryInfo( dir );
    Stack<FileSystemInfo> stack = new Stack<FileSystemInfo>();

    stack.Push( dirInfo );
    while ( dirInfo != null || stack.Count > 0 ) {
        FileSystemInfo fileSystemInfo = stack.Pop();
        DirectoryInfo subDirectoryInfo = fileSystemInfo as DirectoryInfo;
        if ( subDirectoryInfo != null ) {
            yield …
Run Code Online (Sandbox Code Playgroud)

c# directory

5
推荐指数
1
解决办法
2519
查看次数

带有showOn的jqGrid里面的JQuery datepicker问题:'button'

我使用jqGrid,我想在里面集成一个JQuery datePicker.它运行良好,直到我添加showOn:'按钮'.有了它,编辑不再起作用.我真的只想在按钮点击时弹出选择器,因为date是我行的第一个单元格,我使用内联编辑,所以每行选择显示datepicker :-(.如果我在jqGrid外使用相同的datepicker选项,它可以工作.

请帮忙

function loadGrid() {
    var getUrl = 'Transactions.aspx/GridData/?fundID=' + $('#fundID').val();
    var lastSel = "";
    jQuery("#list").jqGrid({
        url: getUrl,
        editurl: 'Transactions.aspx/Edit/',
        datatype: 'json',
        mtype: 'GET',
        colNames: ['Date', 'Invested', 'Nb Shares', 'Price'],
            colModel: [
      { name: 'Date', index: 'Date', width: 120, align: 'left', editable: true,
          editoptions: {
              size: 10, maxlengh: 10,
              dataInit: function(element) {
                  $(element).datepicker({ dateFormat: 'dd/mm/yy', constrainInput: false, showOn: 'button', buttonText: '...' });
              }
          }
      },
      { name: 'Invested', index: 'Invested', width: 100, align: 'right', editable: true, …
Run Code Online (Sandbox Code Playgroud)

jquery-ui jqgrid

4
推荐指数
1
解决办法
1万
查看次数